2012-04-04 63 views
1

我需要使用@AdditionalCriteria註釋爲我的實體隔離根據登錄的用戶「userPrinicpal」數據春天的EclipseLink動態會話屬性

我添加爲每個實體如下:

@AdditionalCriteria("this.owner = :owner") 

的問題是:我不知道如何映射:業主參數登錄的用戶當前,我使用SessionCustomizer試圖映射,但我想通了,在應用程序執行SessionCustomizer啓動時間,而不是爲每個會話。

任何人有關於如何實現這一點的想法?

親切的問候, 拉齊

回答

0

你嘗試,

em.setProperty( 「所有者」,theOwner)

你也可以通過 「所有者」 屬性在您的持久性單元的屬性,或者將其設置在emf上。

+0

我知道我可以創建這個,但是這意味着我需要在每個DAO設置該屬性「@Repository」級,甚至更多,我需要將其設置在DAO類的每一個方法,因爲這些類是在初始化應用程序啓動,我說得對嗎? – 2012-04-04 19:34:28

+1

謝謝@詹姆斯。 我結束了創建一個SessionEventListener類,並添加eclipselink.session事件偵聽器屬性EMF豆配置。它工作正常。但仍然在每個sql語句之前執行,因爲我使用了postAcquireConnection函數。有沒有辦法告訴spring或eclipselink在每個sql語句後都不釋放連接? – 2012-04-05 10:44:42