Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.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
Spring 如何在oneToMany中使用弹簧过滤器_Spring_Hibernate_Spring Boot - Fatal编程技术网

Spring 如何在oneToMany中使用弹簧过滤器

Spring 如何在oneToMany中使用弹簧过滤器,spring,hibernate,spring-boot,Spring,Hibernate,Spring Boot,我有一个实体,它有一组注释。现在我想给它添加一个字段“private”。除非明确要求,否则不应包含private=true的注释。显然,我可以创建一个dto来过滤实体。是否可以在模型上添加可有条件打开或关闭的过滤器?是的,您可以在模型上定义过滤器: @Entity @Table(name="comments") @FilterDef(name="commentFilter", parameters={ @ParamDef(name="private", type="boolean") }

我有一个实体,它有一组注释。现在我想给它添加一个字段“private”。除非明确要求,否则不应包含private=true的注释。显然,我可以创建一个dto来过滤实体。是否可以在模型上添加可有条件打开或关闭的过滤器?

是的,您可以在模型上定义过滤器:

@Entity
@Table(name="comments")
@FilterDef(name="commentFilter", parameters={
    @ParamDef(name="private", type="boolean")
})
@Filters({
    @Filter(name="commentFilter", condition=":private=isprivate")
})
public class Comments {
    @Id
    @Column(name="id")
    private Integer id;
    @Column(name="private")
    private boolean private;
    ...
和查询

Session session = HibernateUtil.getSessionFactory().openSession();
        System.out.println("--Enable Filter--");
        Filter filter = session.enableFilter("commentFilter");
        filter.setParameter("private",true);
        session.beginTransaction();
        List<Comments> results = session.createQuery("from Comments").list();
会话会话=HibernateUtil.getSessionFactory().openSession(); System.out.println(“--Enable Filter--”); Filter=session.enableFilter(“commentFilter”); filter.setParameter(“private”,true); session.beginTransaction(); 列表结果=session.createQuery(“来自注释”).List();
请确保将属性名称替换为非保留关键字的名称。@M-Razavi感谢您的回复。如果主实体(如Post)包含嵌入的评论集合,这是否仍然可行?@Anders是的,请看以下示例: