注解@Id和@GeneratedValue(strategy = GenerationType.IDENTITY)有什么用? 为什么生成types是身份?
@Id @GeneratedValue(strategy = GenerationType.IDENTITY) 为什么我们使用这个注释? 我需要知道这是否自动增加我的表ID值。 (GenerationType.IDENTITY)有什么其他types什么实际上发生在我们使用这个注释
 public class Author extends Domain { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Basic(optional = false) @Column(name = "id") private Integer id; @Basic(optional = false) @Column(name = "name") private String name; @Column(name = "address") private String address; @OneToMany(cascade = CascadeType.ALL, mappedBy = "authorId") private List<Book> bookList; public Author() { setServiceClassName("wawo.tutorial.service.admin.AuthorService"); } } 
*是否需要扩展领域抽象类?有什么用?
 让我回答这个问题: 
 首先,使用注释作为我们的configuration方法只是一个方便的方法,而不是应付无尽的XMLconfiguration文件。 
  @Id注解是从javax.persistence.Idinheritance的,表示下面的成员字段是当前实体的主键。 因此,你的Hibernate和Spring框架以及你可以做一些基于这个注释的reflect作品。 详情请查看javadoc的Id 
  @GeneratedValue注释用于configuration指定列(字段)的增量方式。 例如,当使用Mysql ,可以在表的定义中指定auto_increment使其自增量,然后使用 
 @GeneratedValue(strategy = GenerationType.IDENTITY) 
在Java代码中表示你也承认使用这个数据库服务器端策略。 此外,您可以更改此注释中的值以适应不同的要求。
1.定义数据库中的序列
 例如,Oracle必须使用sequence作为增量方法,比方说我们在Oracle中创build一个序列: 
 create sequence oracle_seq; 
2.参考数据库的顺序
 现在我们在数据库中有了序列,但是我们需要使用@SequenceGenerator来build立Java和DB之间的关系: 
 @SequenceGenerator(name="seq",sequenceName="oracle_seq") 
  sequenceName是Oracle中sequenceName的真实名称, name是你想在Java中调用它的name 。 如果不同于name ,则需要指定sequenceName ,否则使用name 。 我通常忽略sequenceName来节省时间。 
3.在Java中使用顺序
 最后,现在是在Java中使用这个序列的时候了。 只需添加@GeneratedValue : 
 @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="seq") 
  generator字段是指要使用哪个序列生成器。 请注意,它不是DB中的真实序列名称,而是您在SequenceGenerator name字段中指定的name 。 
4.完成
所以完整的版本应该是这样的:
 public class MyTable { @Id @SequenceGenerator(name="seq",sequenceName="oracle_seq") @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="seq") private Integer pid; } 
现在开始使用这些注释来简化JavaWeb开发。
 在一个对象关系映射上下文中,每个对象都需要有一个唯一的标识符。 您使用@Id注释来指定实体的主键。 
  @GeneratedValue注释用于指定如何生成主键。 在你的例子中,你正在使用一个Identity策略 
指示持久性提供程序必须为使用数据库标识列的实体分配主键。
还有其他的策略,你可以在这里看到更多。