@generatedvalue mysql_解释Java类中@GeneratedValue注解

@Idannotation继承自javax.persistence.Id,表示下面的成员字段是当前实体的主键。因此,你的Hibernate和spring框架以及你可以做一些反射基于这个注释的作品。

@GeneratedValue注释是配置指定列(字段)增量的方式。例如,当使用Mysql时,您可以在表的定义中指定auto_increment以使其自增量,然后使用

1.在数据库中定义序列

例如,Oracle必须使用序列作为增量方法,假设我们在Oracle中创建一个序列:

create sequence oracle_seq;

2.参考数据库序列

现在我们在数据库中有序列,但是我们需要建立Java和DB之间的关系,通过使用@SequenceGenerator:

@SequenceGenerator(name="seq",sequenceName="oracle_seq")

sequenceName是Oracle中序列的真实名称,name是您要在Java中调用它的名称。如果它不同于name,你需要指定sequenceName,否则只需使用name。我通常忽略sequenceName来节省我的时间。

3.在Java中使用序列

最后,是时候在Java中使用这个序列。只需添加@GeneratedValue:

@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="seq")

生成器字段指的是要使用的序列生成器。请注意,它不是DB中的实际序列名称,而是您在SequenceGenerator的name字段中指定的名称。

4.完成 所以完整的版本应该是这样的: public class MyTable{ ​ @Id ​ @SequenceGenerator(name="seq",sequenceName="oracle_seq") ​ @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="seq") ​ private Integer pid;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值