例如,在EclipseLink中使用@AdditionalCriteria很容易过滤掉软删除的实体,但是在执行特定查询之前,有什么方法可以暂时禁用它吗?

最佳答案

是的,可以通过一种简单的解决方法来实现。我指定了@AdditionalCriteria批注,如下所示:

@AdditionalCriteria(":disableDeletedFeature = 1 or this.isDeleted = false")

并在persistence.xml中为disable标志指定了默认属性值:
<property name="disableDeletedFeature" value="0"/>

因此,默认情况下启用了过滤功能,但您可以在EntityManager级别轻松禁用它,如下所示:
entityManager.setProperty("disableDeletedFeature", 1);

对我来说一切正常,希望对您有所帮助!

关于eclipselink - 有没有一种方法可以在EclipseLink中禁用@AdditionalCriteria?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15847792/

10-12 17:19