Điều này (nên) là một điều khá đơn giản để làm, tuy nhiên tôi đang vật lộn.Thứ tự sai trong bảng được tạo trong jpa
Tôi muốn có một bảng được tạo ra như thế này:
id organizationNumber name
Tuy nhiên, khi tôi nhìn vào cơ sở dữ liệu, tôi thấy rằng thứ tự là sai. Có ai biết làm thế nào tôi có thể lực lượng hibernate/jpa để tạo ra bảng với thứ tự chính xác?
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 | | +--------------------+--------------+------+-----+---------+----------------+
Đây là cách entity bean của tôi trông giống như:
@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; } }
Câu trả lời của bạn về lý do tại sao theo cách này là chính xác, vì không có thứ tự thực sự khi nói đến chú thích. Một giải pháp khác không sử dụng tạo tự động lược đồ. –
Bạn không thể sử dụng sự phản chiếu, lặp qua các trường và tạo danh sách cột theo cách đó? – cletus
LOL. Tôi không thể hiểu làm thế nào khó có thể có một giá trị trong @Column (order = 1) để nó có một yếu tố thứ tự và sau đó đảm bảo đặt hàng chính xác. Tuy nhiên, cảm ơn bạn đã trả lời. –