Table of Contents |
---|
...
Code Block |
---|
Caused by: java.sql.SQLSyntaxErrorException: Table 'DBNAME.hibernate_sequence' doesn't exist |
원인
Entity 의 ID 생성 strategy 가 GenerationType.AUTO 일 경우 hibernate는 자동으로 기본 sequence 정보 테이블인 hibernate_sequence
을 찾지만 없어서 발생
Code Block | ||
---|---|---|
| ||
@Id @GeneratedValue(strategy = GenerationType.AUTO ) private Long id; |
해결
...
hibernate_sequence 생성
drop 스키마후 application.properties 에 다음 내용 추가
...
Warning |
---|
기존 스키마 삭제하면 데이타 날라가니까 주의 |
...
strategy 변경
수동으로 입력하도록 설정 변경
application.properties 에 다음 내용 추가
Code Block |
---|
spring.jpa.hibernate.use-new-id-generator-mappings=false |
Entity 객체 수정
Code Block | ||
---|---|---|
| ||
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id; |
sequence generator 사용
Code Block | ||
---|---|---|
| ||
@Entity @Data @Table(name="Customers") @SequenceGenerator(name="my_seq_generator", sequenceName = "CUSTOMER_SEQUENCE" // DB Sequence Name //, initialValue = 1, // allocationSize = 50 ) public class Customer { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE) private Long id; |