【发布时间】:2014-03-09 10:06:11
【问题描述】:
我使用 Hibernate 4 来映射到 Postgres 数据库。在进行映射之前,我创建了第一个 java 实体。然后,我使用 java 类从我的实体生成 sql 脚本。这是我的实体:
用户实体
@Entity
@Table(name="myusers")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@Column(name="fistname")
private String firstName;
@Column(name="lastName")
private String lastName;
....
}
项目实体
@Entity
@Table(name="projects")
public class Project {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@Column(name="title")
private String title;
@Column(name="description")
private String description;
..
}
我注意到@GeneratedValue(strategy = GenerationType.AUTO) 为表 myusers 和项目生成相同的序列。如果我在 myusers 表上创建第一条记录,则 id 将具有“1”作为值,然后当我在表项目中创建第一条记录时,该记录的 id = 2。他们使用相同的顺序。
我想知道我如何不能修改我的实体来指定 Hibernate 来为每个表创建一个序列。
【问题讨论】:
标签: sql hibernate postgresql