我們的應用程序有非常大的數據,我們希望在數據庫層(存儲過程)中執行我們的業務邏輯(聚合) 。在數據庫(存儲過程)中保留生命週期的業務邏輯或不保留
Liferay傾向於在業務層(具有多層分層體系結構)中具有業務邏輯。
如果我們想要使用商業邏輯的存儲過程,會產生什麼影響?
由於Liferay也使用Hibernate,在這種情況下,如果在這種情況下沒有增加太多價值,是否有辦法繞過hibernate?
我們的應用程序有非常大的數據,我們希望在數據庫層(存儲過程)中執行我們的業務邏輯(聚合) 。在數據庫(存儲過程)中保留生命週期的業務邏輯或不保留
Liferay傾向於在業務層(具有多層分層體系結構)中具有業務邏輯。
如果我們想要使用商業邏輯的存儲過程,會產生什麼影響?
由於Liferay也使用Hibernate,在這種情況下,如果在這種情況下沒有增加太多價值,是否有辦法繞過hibernate?
是有原因的Liferay做它的業務邏輯在應用程序代碼級(高級):
可能還有其他原因,或者可能有其他一些哲學,他們可能會遵循,但這是我現在可以想到的。
所以,現在的問題是否可以使用它?
由於frant.hartm說,它完全取決於你。這取決於您的需求以及您計劃如何設計,維護和增強您的架構。
另外值得警惕的是:建議不要直接從存儲過程中使用Liferay的數據庫表,因爲Liferay可能會更改新版本的數據庫體系結構。所以它可能會使您的升級過程複雜化。
我覺得這個問題是不是這樣的Liferay相關,因此這裏有一些鏈接,可以幫助你做出決定:
有沒有辦法通過通在這種情況下冬眠,如果它不能在這種情況下,增加多少價值。
如果它沒有增加值,那麼你可以使用JDBC來爲你自己的定製portlet傳遞hibernate。沒有什麼特別的配置使用JDBC,它是一樣的好東西:-)。
希望這導致你在一個積極的方向。
Liferay在應用程序代碼中執行其業務邏輯並不意味着您必須這樣做,您的應用程序的體系結構完全取決於您。
(這假定您的應用程序數據不引用Liferay的數據)