2017-01-23 57 views
1

就像在hibernate中一樣,在EclipseLink中我們有@AdditionalCriteria註釋,它允許我們在數據上添加一個過濾器。在休眠它作爲@Filter,你可以將它添加到類的頂部或像這樣的字段。@AdditionalCriteria在變量上而不是在EclipseLink中的類

@Filter(name="test", condition=":deleted is null") 
public class MyClass { ... } 

@Filter(name="test", condition=":deleted is null") 
private List<MyClass> list; 

在的EclipseLink的@AdditionalCriteria僅適用於第一個上,一個類。有沒有其他的註釋在第二個字段上工作?

感謝

+0

在JPA API中沒有'@ AdditionalCriteria'。不知道你指的是什麼。 http://www.datanucleus.org/javadocs/javax.persistence/2.1/javax/persistence/package-summary.html –

回答

2

,因爲它改變了實體的從什麼是數據庫的視圖,但功能仍然存在的EclipseLink我不推薦這個功能 - 它只是沒有在註釋直接暴露。

取而代之,您將需要使用定製工具來修改映射 - 更改映射,以便它包含您需要的過濾器表達式。這是描述here

請注意,雖然對可能影響過濾器的引用實體的更改不會反映在緩存中。任何對MyClass實例的更改都可能導致它們失敗,並不會自動將它們從實體列表中刪除 - 您必須自己處理它,或者在事務完成時直接強制刷新實體。

相關問題