2013-05-04 23 views
0

我想弄清楚哪些方法正在調用Validator接口的validate()函數,以便我不手動調用該函數(如果有的話)。但是,如果以下方法調用validate()函數或不調用,我無法找到適當的文檔。在Hibernate中調用validate函數時?

我猜以下功能調用的validate()函數:

Session.save() 
Session.update() 
Session.saveOrUpdate() 

(Session是一個Hibernate的Session)

回答

0

這些方法都不能觸發驗證。 The documentation說:

當一個PreInsertEvent,PreUpdateEvent或PreDeleteEvent發生時,聽者會驗證該實體實例的所有約束,如果任何違反約束拋出異常。在Hibernate進行任何插入或更新之前,將會檢查默認對象。預刪除事件將默認不觸發驗證。

所以驗證將發生在刷新時間,就在Hibernate插入或更新數據庫中的實體之前。

相關問題