我在表中有幾列其中JournalKey是主鍵,而JournalID具有唯一約束。在休眠狀態下SaveOrUpdate意外地工作
JournalKey是自動生成的密鑰。
現在,當我開始使用insertOrUpdate進行保存時,我希望hibernate插入行JournalID不存在時更新它。
由於JournalKey是自動生成的,因此它沒有太多的作用。 但它給我UniqueConstraintViolation錯誤。
請幫忙。
雜誌是另存爲
public Object saveOrUpdateObj(Object obj){
Session session = HibernateUtil.getSession();
try{
session.beginTransaction();
session.saveOrUpdate(obj);
session.getTransaction().commit();
}finally{
session.close();
}
return obj;
}
雜誌類這樣定義
@Entity
@Table(name="Dim_Journal")
public class Journal {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="JournalKey")
private Long journalKey;
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="FK_Org_Key")
private Organisation organisation;
@Column(name="JournalID")
private String journalID;
@Column(name="JournalDate")
private Date journalDate;
@Column(name="JournalNumber")
private String JournalNumber;
@Column(name="JournalCreationDate")
private Date createdDateUTC;
@Column(name="SourceID")
private String SourceID;
@Column(name="SourceType")
@Enumerated(EnumType.STRING)
private JournalSourceType sourceType;
@Transient
private List<JournalLine> journalLines;
@Transient
private Long organisationId;
}
但'journalKey'是主鍵,在這種情況下JournalID的值不相關。除非我錯過了這一點。請發佈整個代碼,您堅持實體 – rapasoft
@rapasoft:代碼添加 –
什麼版本的Hibernate。 –