我真的希望有人能帮忙!
我已成功使用 Spring/Hibernate 基于 Web 的应用程序 (Tomcat 6x) 将记录插入 Oracle 数据库。我正在向其中写入记录的 Oracle 数据库表相当简单 - 但重要的是要知道表的第一列需要使用专用 Oracle 序列提供的值填充。
我遇到的问题是,当我插入一行时,我似乎并不总是得到 Oracle 序列的值。
这是一些代码,它说明了我自己尝试解决此问题所采取的步骤:
@Entity
@Table(name="MARTINI_STORE.STY_ORDER_RETRY_PAYMENT")
public class STYOrderRetryPayment implements Serializable {
/**
* Serializable class - generated UID
*/
private static final long serialVersionUID = 4396053457149921483L;
@Id
@GeneratedValue(generator="audit_seq")
@GenericGenerator( name = "audit_seq", strategy = "sequence", parameters = { @Parameter(name = "sequence", value = "MARTINI_STORE.STY_SOR_ID_SEQUENCE") }
)
@Column(name="SOR_ID", nullable=false)
private long sorId;
上面的代码显示了我用来将数据持久化到表中的 bean 的片段。字段 sorId 映射到数据库表上的列,该列应填充专用 Oracle 序列提供的值。
我曾尝试寻找此问题的答案,但我尝试过的任何方法似乎都不起作用......