Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

증상

Caused by: java.sql.SQLSyntaxErrorException: Table 'DBNAME.hibernate_sequence' doesn't exist


원인

Entity 의 ID 생성 strategy 가 GenerationType.AUTO 일 경우 hibernate는 자동으로 기본 sequence 정보 테이블인 hibernate_sequence  을 찾지만 없어서 발생

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

해결

hibernate_sequence 생성

 drop 스키마후 application.properties 에 다음 내용 추가

spring.jpa.hibernate.ddl-auto=create

기존 스키마 삭제하면 데이타 날라가니까 주의

strategy 변경

수동으로 입력하도록 설정 변경

application.properties 에 다음 내용 추가

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


Entity 객체 수정

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


sequence generator 사용


@Entity
@Data
@Table(name="Customers")
@SequenceGenerator(name="my_seq_generator",
        sequenceName = "CUSTOMER_SEQUENCE"   // DB Sequence Name
        //, initialValue = 1,
        // allocationSize = 1
)
public class Customer {




Ref

  • No labels