【问题标题】:How to filter data in Hibernate many to many mapping如何在 Hibernate 多对多映射中过滤数据
【发布时间】:2014-10-29 17:25:37
【问题描述】:

我有一个表用户,其中包含组和公司的映射。

User{
int id;
private Set groups;
private Set companies;
}

集团和公司都有一个名为“已删除”的文件,用于了解实体的状态。我已经用 XML 完成了映射,现在我想在检索用户记录时只检索那些未删除的组和公司。 (删除=假) 我只是陷入了困境,所以请帮帮我。

谢谢。

【问题讨论】:

    标签: java hibernate orm filter mapping


    【解决方案1】:

    虽然您可以使用过滤器,但您需要为每个会话手动启用它们。

    一个更简单的方法是使用@Where:

    User{
       int id;
    
       @Where(clause="deleted <> true")
       private Set groups;
    
       @Where(clause="deleted <> true")
       private Set companies;
    }
    

    这样你可以过滤掉被删除的孩子。

    【讨论】:

      【解决方案2】:

      另一种方法是使用Criteria 查询

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多