JPA가 알파벳순으로 열이 포함된 테이블을 생성하는 이유는 무엇입니까?
Oct 29, 2024 am 06:23 AMJPA 생성 테이블의 잘못된 테이블 순서
문제:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











2025 년 상위 4 개의 JavaScript 프레임 워크 : React, Angular, Vue, Svelte

Java의 클래스로드 메커니즘은 다른 클래스 로더 및 대표 모델을 포함하여 어떻게 작동합니까?

고급 Java 프로젝트 관리, 구축 자동화 및 종속성 해상도에 Maven 또는 Gradle을 어떻게 사용합니까?

카페인 또는 구아바 캐시와 같은 라이브러리를 사용하여 자바 애플리케이션에서 다단계 캐싱을 구현하려면 어떻게해야합니까?

Spring Boot Snakeyaml 2.0 CVE-2022-1471 문제 고정
