본문 바로가기
MySql

MySQL 및 Hibernate3 주석을 사용하는 <generator class = "native"> </ generator>에 해당

by 베이스 공부 2021. 2. 1.
반응형

새 프로젝트를 시작하면 지금까지 사용한 구성 파일 대신 MySQL과 함께 Hibernate 주석을 사용하고 싶습니다. 그리고 다음과 같은 것을 찾을 수 없습니다.

    <id name="id" type="long" >
        <generator class="native"></generator>
    </id>

나는 사용해 보았다 :

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY, generator = "native")
private long id;

하지만 :

org.hibernate.AnnotationException: Unknown Id.generator: native

또는:

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;

나에게주세요:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: PROCEDURE projectName.identity does not exist

ID를 자동으로 생성하기 위해 MySQL 및 Hibernate3 주석을 성공적으로 배포 한 사람이 있습니까?

 

해결 방법

 

버전 5.0 이전에는 AUTO 전략을 사용하는 것이 매핑에서 native 를 사용하는 것과 동일했습니다. 이것은 LegacyFallbackInterpreter 를 사용했습니다.

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId() {
    return id;
}


LegacyFallbackInterpreter 를 사용하려면 hibernate.id.new_generator_mappings false 로 설정하십시오.

 

참조 페이지 https://stackoverflow.com/questions/1212535

 

 

반응형

댓글