복붙노트

[SPRING] 테이블 'DBNAME.hibernate_sequence은'존재하지 않는

SPRING

테이블 'DBNAME.hibernate_sequence은'존재하지 않는

나는 봄의 데이터 / JPA를 사용하여 봄 부팅 2.0.1.RELEASE 응용 프로그램이

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

나는 아마존 오로라 DB에 업데이 트를 할 때, 나는이 오류가 발생했습니다 :

내가 저장하려는 기업이있다

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

나는 ID를 가져도 DB의 모든 단점을 피하기 위해 싶습니다.

해결법

  1. ==============================

    1.기본 hibernate_sequence 테이블을 찾아, 그래서 다음과 같이 IDENTITY 세대로 변경됩니다 최대 절전 모드 GenerationType.AUTO 세대로 :

    기본 hibernate_sequence 테이블을 찾아, 그래서 다음과 같이 IDENTITY 세대로 변경됩니다 최대 절전 모드 GenerationType.AUTO 세대로 :

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

    2.다만 경우에 당신은 미리보기 부트 버전에서 마이그레이션 :

    다만 경우에 당신은 미리보기 부트 버전에서 마이그레이션 :

    당신의 application.yml에 다음을 설정하면 hibernate_sequence 항목을 찾고에서 최대 절전 모드를 방지 할 수 있습니다.

    spring.jpa.hibernate.use-new-id-generator-mappings
    

    즉 부팅 1.x에서의 기본이었다

  3. ==============================

    3.당신의 application.yml에 다음 설정을 추가합니다 :

    당신의 application.yml에 다음 설정을 추가합니다 :

    봄:   JPA :     최대 절전 모드 :       사용하는 새로운-ID-발전기 매핑 : 거짓

    또는이 당신은 application.properties를 사용하는 경우

    spring.jpa.hibernate.use 새로운-ID-발전기 매핑을 = 거짓

  4. ==============================

    4.나는 테이블 스키마와 자바 엔티티 사이에 매핑 불일치로 실행하면 나는 다음을 수행 것을 좋아합니다.

    나는 테이블 스키마와 자바 엔티티 사이에 매핑 불일치로 실행하면 나는 다음을 수행 것을 좋아합니다.

    이 이제 개체에 따라 스키마를 다시 만듭니다. 그런 다음 필요한 경우, 그 차이를보기 위해 기존의 스키마에 대해 생성 된 테이블을 비교할 수 있습니다.

  5. from https://stackoverflow.com/questions/49813666/table-dbname-hibernate-sequence-doesnt-exist by cc-by-sa and MIT license