[JPA] @TableGenerator
링크: 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;
...