admin管理员组

文章数量:1130349

让我回答这个问题:

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

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

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

@GeneratedValue(strategy = GenerationType.IDENTITY)

在Java代码中表示您也承认使用此数据库服务器端策略。此外,您可以更改此注释中的值以适应不同的要求。

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;

}

现在开始使用这些注释,使您的JavaWeb开发更容易。

让我回答这个问题:

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

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

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

@GeneratedValue(strategy = GenerationType.IDENTITY)

在Java代码中表示您也承认使用此数据库服务器端策略。此外,您可以更改此注释中的值以适应不同的要求。

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;

}

现在开始使用这些注释,使您的JavaWeb开发更容易。

本文标签: 注释IdMySQLsequencegeneratorjavaGeneratedValue