[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