문제:
JPA(Java Persistence API)가 생성된 것 같습니다. 잘못된 열 순서가 있는 테이블, 특히 원하는 순서가 반대임에도 불구하고 'organizationNumber' 열 앞에 'name' 열이 나타나는 테이블.
조사:
테이블을 검사하면 다음 순서가 관찰됩니다.
+--------------------+--------------+------+-----+---------+----------------+ | 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 | | +--------------------+--------------+------+-----+---------+----------------+
원인:
JPA는 기본적으로 알파벳 순서로 열을 생성합니다. 이 순서는 클러스터 전체에서 결정적인 순서를 보장하고 열 위치의 불일치를 방지하기 위한 것입니다.
해결 방법:
안타깝게도 이 문제에 대한 간단한 해결 방법은 없습니다. 한 가지 해결 방법은 원하는 순서를 강제하는 방식으로 열 이름을 수동으로 지정하는 것입니다. 이는 다음과 같이 적절한 영숫자 문자를 열 이름 앞에 붙여서 수행할 수 있습니다.
@Entity @NamedQuery(name = "allOrganizations", query = "SELECT org FROM Organization org order by name") public class Organization { private Long id; @Column(name = "a_name") private String name; @Column(name = "b_organizationNumber") private String organizationNumber; // ... }
이 접근 방식을 사용하면 'id' 열이 먼저 표시되고 그 뒤에 'name'(접두사 'a'가 붙음)이 표시됩니다. ), 'organizationNumber'(접두사 'b').
위 내용은 JPA가 알파벳순으로 열이 포함된 테이블을 생성하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!