[Chapter 08] GenerationType 종류 필기 #81
-
1. GenerationType.TABLE
@GeneratedValue(strategy = GenerationType.TABLE, generator = "sequenceGenerator") // 1)
@TableGenerator(
name = "sequenceGenerator", // 1) 에서 사용할 이름
table = "TBL_SEQUENCES", // 채번용 공통테이블
pkColumnName = "SEQUENCE_NAME", // TBL_SEQUENCES 의 기본키
pkColumnValue = "HOTEL_SEQUENCE", // 채번테이블 기본키에 저장할 키 값. SEQUENCE_NAME 필드에 저장됨
valueColumnName = "SEQUENCE_VALUE", // 채번테이블 채번값 조회, 업데이트할 필드이름
initialValue = 10000, allocationSize = 100 // 초기값, 증가값
)
@Column
private Long hotelId; 2. GenerationType.SEQUENCE
// 1에서 시작, 1씩증가하는 sequence정의 ddl @SequenceGenerator(name = "hotel_generator", sequenceName = "hotel_sequence")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "hotel_generator")
@Column
private Long hotelId; GenerationType.IDENTITY
GenerationType.AUTO
@Id
@GeneratedValue(strategy = GenerationType.AUTO) // <<<
@Column
private Long hotelId;
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
저도 예전에 프로젝트 할 때, 아래 내용과 관련있는 것 같은데 다시 예시코드를 작성하면서 좀 더 알아봐도 좋을 것 같습니다. postgresql에서-jpa-자동-키-생성-오류 |
Beta Was this translation helpful? Give feedback.
-
질의 응답 이외의 CheckPoint
|
Beta Was this translation helpful? Give feedback.
저도 예전에 프로젝트 할 때,
Postgresql 을 사용하면서 GenerationType.IDENTITY 을 사용했다가 오류가 났던 적이 있었습니다.
GenerationType.SEQUENCE 로 수정해서 해결한 경험이 있는데 자세한 원인을 기록하지 않은 채로 넘어가서 기억이 안나네요...
(기록이 중요하다는 걸 다시 생각했습니다..)
아래 내용과 관련있는 것 같은데 다시 예시코드를 작성하면서 좀 더 알아봐도 좋을 것 같습니다.
postgresql에서-jpa-자동-키-생성-오류
Hibernate User Guide
PostgreSQL SERIAL or IDENTITY column and Hibernate IDENTITY generator