To (powinna) być raczej prosta sprawa, jednak walczę.Niewłaściwa kolejność w wygenerowanej tabeli w jpa
Chcę stół do wygenerowania tak:
id organizationNumber name
Jednak kiedy patrzę w bazie danych, widzę, że kolejność jest złe. Czy ktokolwiek wie, w jaki sposób mogę zmusić hibernate/jpa do wygenerowania tabeli z prawidłową kolejnością?
desc Organization; +--------------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------+--------------+------+-----+---------+----------------+ | id | bigint(20) | NO | PRI | NULL | auto_increment | | name | varchar(255) | NO | | NULL | | | organizationNumber | varchar(255) | NO | UNI | NULL | | +--------------------+--------------+------+-----+---------+----------------+
To jest jak moja jednostka fasola wygląda następująco:
@Entity @NamedQuery(name = "allOrganizations", query = "SELECT org FROM Organization org order by name") public class Organization { private Long id; private String organizationNumber; private String name; public Organization() { } public Organization(String name) { this.name = name; } @Id @GeneratedValue public Long getId() { return id; } @SuppressWarnings("unused") private void setId(Long id) { this.id = id; } @NotEmpty @Column(unique=true, nullable=false) public String getOrganizationNumber() { return organizationNumber; } public void setOrganizationNumber(String organizationNumber) { this.organizationNumber = organizationNumber; } @NotEmpty @Column(nullable=false) public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return this.name + " " + this.organizationNumber; } }
Twoja odpowiedź na pytanie, dlaczego tak się dzieje, jest poprawna, ponieważ nie ma prawdziwego porządku, jeśli chodzi o adnotacje. Innym rozwiązaniem nie jest używanie automatycznego generowania schematu. –
Nie można użyć refleksji, iterować po polach i budować w ten sposób listy kolumn? – cletus
LOL. Nie rozumiem, jak trudne może być posiadanie wartości w kolumnie @Column (order = 1), aby pobierał element zamówienia, a następnie zapewnia poprawną kolejność. Niemniej jednak, dziękuję za odpowiedź. –