집 >데이터 베이스 >MySQL 튜토리얼 >MySQL INSERT 문에 Hibernate의 예기치 않은 자동 증가 필드 포함을 수정하는 방법은 무엇입니까?
JPA 주석으로 MySQL 자동 증가 필드 주석 달기
JPA에서 @GeneratedValue 주석은 자동 생성된 값이 어떻게 지정되는지 지정하는 데 사용됩니다. 열이 생성되어야 합니다. MySQL의 경우 자동 증가 열은 일반적으로 GenerationType.IDENTITY 전략으로 매핑됩니다. 그러나 생성된 SQL에 자동 증가 필드가 포함된 경우 구성 불일치가 있을 수 있습니다.
이 경우 Operator 개체에는 다음과 같은 자동 증가 필드가 있습니다.
@Id @GeneratedValue private Long id;
이 주석은 다음 SQL을 생성해야 합니다.
insert into Operator (active, password, username) values (?, ?, ?)
그러나 제공된 로그에는 SQL에 ID가 포함되어 있음이 표시됩니다. 열:
Hibernate: insert into Operator (active, password, username, id) values (?, ?, ?, ?)
이 문제를 해결하려면 다음 단계를 따르십시오.
CREATE TABLE `operator` ( `id` INT(10) NOT NULL AUTO_INCREMENT, ...
문제가 지속되면 ID 생성 전략을 명시적으로 지정해야 할 수도 있습니다.
@Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Long id;
위 내용은 MySQL INSERT 문에 Hibernate의 예기치 않은 자동 증가 필드 포함을 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!