@GeneratedValue GenerationType.TABLE

来源:互联网 发布:金鼎软件 编辑:程序博客网 时间:2024/05/22 19:26

Jpa 自动生成主键的策略之一,用table 来存贮生成的主键

例子是最好的教材:

 

 @Id

 @TableGenerator(

      name="ID_GENERATOR",

      table="ID_GEN",

      pkColumnName = "GEN_NAME",

      pkColumnValue = "NBR_PK",

      valueColumnName = "GEN_VALUE",

      initialValue = 1,

      allocationSize = 1

  )

  @GeneratedValue(strategy=GenerationType.TABLE, generator="ID_GENERATOR")

  @Column(name="NBR", length=10)

  private Long nbr=0L;

 

JPA 会执行这样的语句:

update ID_GEN set GEN_VALUE = GEN_VALUE + 1 where GEN_NAME = ‘ NBR_PK’

通过这个sql语句就会明白注解里面各个属性的含义。

对于ID_GEN 表,不需要创建相应的Java entity

这种方式有个好处就是数据库的可移植

原创粉丝点击