문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
java:hibernate:id_generator [2018/07/11 14:12] kwon37xi [Sequence] |
java:hibernate:id_generator [2023/06/09 10:02] (현재) kwon37xi [UUID] |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== Hibernate Primary Key (ID) Generator ====== | ====== Hibernate Primary Key (ID) Generator ====== | ||
+ | * [[https:// | ||
* [[https:// | * [[https:// | ||
===== hibernate.id.new_generator_mappings ===== | ===== hibernate.id.new_generator_mappings ===== | ||
- | * 최신버전에서는 '' | + | * 최신버전에서는 '' |
+ | * 구버전과의 호환성을 위한 것이 아니면 이 값을 **항상 '' | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
+ | * [[https:// | ||
+ | |||
+ | ===== UUID ===== | ||
+ | * [[https:// | ||
+ | * 또한 ID Generator는 [[https:// | ||
+ | * 해당 컬럼을 문자열로 지정하고 싶다면 '' | ||
===== 기본 Custom Generator들 ===== | ===== 기본 Custom Generator들 ===== | ||
줄 27: | 줄 35: | ||
} | } | ||
</ | </ | ||
+ | * DB에서 ID 값을 읽어와야만 Persistence Context 에 저장가능하기 때문에, 객체 생성후 '' | ||
===== Sequence ===== | ===== Sequence ===== | ||
<code java> | <code java> | ||
줄 46: | 줄 54: | ||
public class EntityWithTableId { | public class EntityWithTableId { | ||
@GeneratedValue(strategy=GenerationType.TABLE, | @GeneratedValue(strategy=GenerationType.TABLE, | ||
- | @Id long id; | + | @Id Long id; |
} | } | ||
</ | </ | ||
줄 53: | 줄 61: | ||
===== IdGenerator ===== | ===== IdGenerator ===== | ||
* ID 생성기를 Custom으로 만들 수 있다. | * ID 생성기를 Custom으로 만들 수 있다. | ||
+ | * [[https:// | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
줄 64: | 줄 73: | ||
String prefix = " | String prefix = " | ||
- | Connection connection = session.connection(); | + | |
+ | | ||
try { | try { | ||
줄 96: | 줄 106: | ||
} | } | ||
</ | </ | ||
- | * [[https:// | + | * '' |
+ | |||
+ | |||
+ | ===== 참조 ===== | ||
+ | * [[https:// | ||