我有以下實體(中省略getter和setter)...甲骨文和Hibernate,DB序列發生器發出
@Entity
@Table(name = "TBL_PROJECT_RUN")
public class ProjectRunEntity {
@Id
@Column(name = "ID")
@GeneratedValue(generator = "StakeholdersSequence")
@SequenceGenerator(name = "StakeholdersSequence", sequenceName = "STAKEHOLDERS_UPDATE_SEQ", allocationSize = 1)
private Integer id;
@Column(name = "REPORT_RUN_DATE")
private Date systemRunDate;
@Column(name = "JIRA_PROJECT_NAME")
private String jiraProjectName;
@Column(name = "JIRA_PROJECT_DESC")
private String jiraProjectDescription;
@Column(name = "RUNBY")
private String runBy;
@Column(name = "HEADER_TEXT")
private String headerText;
@Column(name = "FOOTER_TEXT")
private String footerText;
@Column(name = "JIRA_ID")
private String jiraId;
@Column(name = "TO_EMAIL")
private String toEmail;
@Column(name = "CC_EMAIL")
private String ccEmail;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "projectRunEntity")
private List<ProjectRunDetailsEntity> projectRunDetailsEntities;
然後我提交到這樣的數據庫...
final Session session = sessionProvider.get();
session.persist(projectRunEntity);
session.flush();
return projectRunEntity.getId();
這裏返回的id不是數據庫中的實際id,它是1或2 off。請注意我爲我的項目中的所有表中的所有ID共享一個序列,以便任何給定的實體都具有項目範圍的唯一索引。什麼會導致這樣的id不正確?
*這裏返回的id不是數據庫中實際的id是什麼* - 你的意思是在表中還是'currval'? – 2010-06-23 21:28:54