Hibernate提供下一个生成的id 32768,依此类推65536,98304

时间:2013-03-13 18:27:48

标签: java hibernate jpa persistence auto-increment

EMPLOYEE.java

@Entity
@Table(name="EMPLOYEE")
public class Employee implements Serializable {

@Id
@GeneratedValue( strategy = GenerationType.TABLE)

员工(表格)

1   3/13/2013   911 Jack    Bauer

32768   3/13/2013   911 Jack    Bauer

65536   3/13/2013   911 Jack    Bauer

98304   3/13/2013   911 Jack    Bauer

HIBERNATE_SEQUENCES(表)持有正确的数字

EMPLOYEE    4

1 个答案:

答案 0 :(得分:3)

@TableGenerator(name="tabgen",table="employee-id",pkColumnName="name",valueColumnName="value",allocationSize=1)
@GeneratedValue(strategy=GenerationType.TABLE, generator="tabgen")

但是,如果您需要按顺序执行id,那么使用增量或序列而不是表生成总是更好。你在默认表策略中看到的随机id是因为需要支持所有同时尝试插入的多个线程。