[JPA] @TableGenerator

Java/Hibernate / JPA 2014. 6. 23. 11:25

링크: http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Entities/Ids/TableGenerator

왜? @TableGenerator를 사용해야 하는가? : http://kkamdung.tistory.com/74


테이블 (MySQL)

CREATE TABLE `TB_SEQUENCE` (
  `SEQ_NAME` varchar(255) NOT NULL COMMENT '시퀀스 이름',
  `SEQ_COUNT` bigint(20) DEFAULT NULL COMMENT '시퀀스 카운트',
  PRIMARY KEY (`SEQ_NAME`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


Java Entity (Hbernate)

...
@Id
@TableGenerator(
        name = "TEST_SEQ",
        table = "TB_SEQUENCE",
        pkColumnName = "SEQ_NAME",
        valueColumnName = "SEQ_COUNT",
        pkColumnValue = "TEST_SEQ",
        initialValue = 0,
        allocationSize = 1
)
@GeneratedValue(strategy = GenerationType.TABLE, generator = "TEST_SEQ")
@Column(name = "ID", length = 11)
private Integer id;
...


posted by 뚱2