Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java @EclipseLink中变量而非类的附加条件_Java_Hibernate_Eclipselink - Fatal编程技术网

Java @EclipseLink中变量而非类的附加条件

Java @EclipseLink中变量而非类的附加条件,java,hibernate,eclipselink,Java,Hibernate,Eclipselink,就像在hibernate中一样,EclipseLink中有注释@AdditionalCriteria,允许我们在数据上添加过滤器。在hibernate中,将其作为@Filter,您可以将其添加到类的顶部或这样的字段中 @Filter(name="test", condition=":deleted is null") public class MyClass { ... } 或 @Filter(name=“test”,condition=“:deleted is null”) 私人名单; 在

就像在hibernate中一样,EclipseLink中有注释@AdditionalCriteria,允许我们在数据上添加过滤器。在hibernate中,将其作为@Filter,您可以将其添加到类的顶部或这样的字段中

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

@Filter(name=“test”,condition=“:deleted is null”)
私人名单;
在EclipseLink中,@AdditionalCriteria仅适用于类上的第一个。在一个字段上是否有其他类似于第二个注释的注释


谢谢

我不建议使用此功能,因为它改变了数据库中实体的视图,但该功能仍然存在于EclipseLink中,只是没有直接在注释中公开

相反,您需要使用自定义程序来修改映射-更改映射,使其包含所需的过滤器表达式。这是描述的


请注意,对引用实体所做的可能影响筛选器的更改不会反映在缓存中。对MyClass实例的任何更改都可能导致它们不符合条件,不会自动导致它们从实体的列表中删除-您必须自己处理,或者在事务完成时直接强制刷新实体。

在JPA API中没有此类
@附加条件
。不知道你指的是什么。
@Filter(name="test", condition=":deleted is null")
private List<MyClass> list;