이 작업은 다소 단순한 작업이지만 반드시 고심하고 있습니다.jpa에서 생성 된 테이블의 순서가 잘못되었습니다.
나는 테이블은 다음과 같이 생성 할 : 나는 데이터베이스에서 볼 때
id organizationNumber name
그러나, 나는 순서가 잘못된 것을 알 수있다. 아무도 내가 어떻게 hibernate/jpa가 올바른 순서로 테이블을 생성하도록 강요 할 수 있는지 알지 못합니까?
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 | | +--------------------+--------------+------+-----+---------+----------------+
이 내 엔티티 빈과 같은 모습입니다 :
@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; } }
어노테이션과 관련하여 실제 순서가 없기 때문에이 방법이 올바른 이유에 대한 귀하의 대답은 정확합니다. 다른 해결책은 스키마 자동 생성을 사용하지 않는 것입니다. –
리플렉션을 사용하여 필드를 반복하고 그런 식으로 열 목록을 작성할 수 없습니까? – cletus
LOL. @Column (order = 1)에서 값을 가져 와서 order 요소를 취한 다음 올바른 순서를 유지하는 것이 얼마나 어려울 지 이해할 수 없습니다. 그럼에도 불구하고 대답 해 주셔서 감사합니다. –