对于Hibernate 4.x,您可以找到 4 种类型的Generation Types
GeneratorType.AUTO - 这是默认策略,可以跨平台移植
不同的数据库。 Hibernate 根据
数据库。
GeneratorType.IDENTITY - 此设置基于提供的身份
通过一些数据库;数据库的职责是
提供唯一标识符。
GeneratorType.SEQUENCE -
一些数据库提供了序列号的机制,所以这个设置会让
Hibernate 使用序列号。
GeneratorType.TABLE -
有时主键是从另一个中的唯一列创建的
桌子。在这种情况下,请使用 TABLE 生成器。
用Annotations:
如果 ID 生成策略为 NOT SET,则表示您使用的是 AUTO Strategy。
要使用其他的,注释如下:
@Entity(name = "TBL_EMPLOYEE")
public class Employee {
@Id
@Column(name="ID")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int employeeId =0;
...
}
或
public class Employee {
@Id
@Column(name="EMPLOYEE_ID")
@GeneratedValue (strategy= GenerationType.SEQUENCE, generator="empSeqGen")
@SequenceGenerator(name = "empSeqGen", sequenceName = "EMP_SEQ_GEN")
private int employeeId =0;
...
}
或
public class Employee {
@Id
@Column(name="ID")
@GeneratedValue (strategy= GenerationType.TABLE, generator="empTableGen")
@TableGenerator(name = "empTableGen", table = "EMP_ID_TABLE")
private int empoyeeId =0;
...
}
您也可以使用Composite Identifiers,在这种情况下,我建议您使用书籍Just Hibernate。