【问题标题】:Hibernate Criteria restricting on an object that is in list inside a different class休眠条件限制在不同类中的列表中的对象
【发布时间】:2016-01-26 19:57:05
【问题描述】:

我有 2 个具有以下关联的类:

public class Entry {
    private Long id;
    private String poNumber;
    private List<Comment> comments;
}

public class Comment{
    private Long id;
    private Reason reason;
}

我正在使用 Hibernate 标准来设置条目对象列表的限制:

 Criteria criteria = ((HibernateEntityManager) entityManager).getSession().createCriteria(Entry.class, "entry");

我有一个提供对象列表的搜索表单。为了限制“poNumber”,给定List&lt;String&gt; poNumbers 我这样做:

criteria.add(Restrictions.in("poNumber", poNumbers));

但我不知道什么时候,给定List&lt;Reason&gt; reasons,如何限制原因。我限制了相同的 Criteria 对象(即条目类)。

(与Fetching objects of class B stored in a list inside class A with Hibernate Criteria相关)

【问题讨论】:

    标签: java hibernate


    【解决方案1】:

    这仍然会返回 Entry 类的对象:

    criteria.createAlias("comments", "comment")
    .add(Restrictions.in("comment.reason", reasons));
    

    【讨论】:

    • 我不敢相信它这么简单!谢谢!
    • 这会返回不同的结果 :(
    猜你喜欢
    • 2012-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多