2012-10-02 19 views
0

我是新來的休眠,並試圖評估我是否可以將其實際用於我的項目。一種類型的實體需要對插入或更新進行特殊檢查。我會嘗試儘可能簡單地解釋。可以說我們有顏色。用戶可以創建n種顏色的混合物並將該混合物存儲在數據庫中。稍後,如果用戶搜索顏色「藍色」,則應顯示所有包含藍色的混合物。休眠:插入/更新時的自定義代碼

業務規則是任何顏色只應該在數據庫中一次。所以如果插入一個新混合物,必須首先檢查所有顏色是否已經存在於數據庫中,如果是,應該重新使用(引用)該顏色,如果不是,則應該創建一個新的混合物。

如果混合物發生變化,說「藍色」替換爲「紅色」,則行爲必須是初始「藍色」保持不變,並且系統檢查是否存在「紅色」,並重新使用或創建它,然後將其添加到混合物中。

我如何用hibernate做到這一點?

回答

2

你可以做到這一點,但是這對Hibernate沒有太多的幫助。

你描述的東西是你的服務類應該做的。

這應該是您的應用程序的邏輯,而不是ORM工具應該做的事情。

聽到鏈接,你可以閱讀約Hibernate events

+0

好的。因此,在用戶提交之後,首先檢查該顏色是否已經存在,如果是,則加載它。什麼類/對象應該檢查? –

+1

您在業務服務層中創建的任何類。 – Alex