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 |
---|
기존 스키마 삭제하면 데이타 날라가니까 주의 |
2. strategy 를 변경
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 = 1
)
public class Customer { |