2012-04-12 100 views
1

我有一個具有日期屬性的映射類。我想保存此類的更新對象,以使已存在的只在存儲的舊對象更新時才更新。有條件saveOrUpdate在休眠

我該怎麼做(如果可能的話整齊有效地)?

我有很多這樣的類,所以我希望避免爲它們寫大量的自定義HQL。

回答

0

嘗試查看Spring中的HibernateTemplate.saveOrUpdate。它具有相同的功能required.bieng開源你可能會看到代碼以及實現

+0

換了一些其他的方式,但我認爲這看起來很有希望。 – Bloodboiler 2013-02-07 15:11:50

0

不知道如何在java中實現這一點,但我相信你可以做類似的事情。

僅供參考,下面類是NHibernate的具體

可以擴展DefaultSaveOrUpdateEventListener類並覆蓋PerformSaveOrUpdate方法,此方法可以編寫自定義代碼,這將有助於你找出個教學班,在他們的日期屬性(有一個抽象類/接口,所有這些類都需要實現),然後設置該屬性的值,然後調用基地SaveOrUpdate方法。

然後在構建Configuration時添加此偵聽器。請參閱Hibernate文檔瞭解如何執行此操作。

希望這可以幫助你。