且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

注解@Id和@GeneratedValue(strategy = GenerationType.IDENTITY)有什么用?为什么生成类型是身份?

更新时间:2022-10-23 22:29:58

让我回答这个问题:

首先,使用注释作为我们的配置方法只是一种方便的方法,而不是应付无尽的XML配置文件。
$ b

@Id 注释是从 javax.persistence.Id ,表示下面的成员字段是当前实体的主键。因此,您的Hibernate和Spring框架以及您可以根据此批注执行一些 reflect 作品。详情请查阅 javadoc for Id



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

  @GeneratedValue(strategy = GenerationType.IDENTITY)
$ p $在Java代码中表示您还承认使用此数据库服务器端策略。此外,您可以更改此注释中的值以适应不同的要求。

1。在数据库中定义序列



例如,Oracle必须使用 sequence 作为增量方法,比方说我们创建一个序列Oracle:

  create sequence oracle_seq; 



2。引用数据库序列



既然我们有数据库中的序列,但是我们需要通过使用 @SequenceGenerator

  @SequenceGenerator(name =seq,sequenceName =oracle_seq)