【问题标题】:HiberNate Filter with annotaions in one to many mappingHiberNate 过滤器在一对多映射中带有注释
【发布时间】:2011-05-19 11:17:44
【问题描述】:

我有一个 Person 类,它可以有 4 种类型的地址,并且可以有多个地址对应于一种类型的地址。

public class Person{
 Set<Address> addresses;
}

public class Address{
private int phoneNumber;   
private Type addressType;
}

public Enum Type{
Buisness,
Personal,
X,
Y   
}

所以我想要实现的是当一个人对象被填充时,特定类型的地址列表应该填充特定类型的地址。 但是我希望指定在运行时填充哪种类型的地址。 我认为它可以通过 hibernate Filter XML 配置实现,但我只想用注释来实现它。

【问题讨论】:

    标签: hibernate hibernate-annotations


    【解决方案1】:

    您可以使用@Filter annotations 在运行时过滤掉数据。

    public class Person{
    
         @Filter(name="filterAddressType", condition=":addressType = addressType")
         Set<Address> addresses;
    }
    

    在运行时,您可以通过会话应用过滤器数据,如下所示:

    session.enableFilter("filterAddressType").setParameter("addressType ", "Home");
    

    【讨论】:

      猜你喜欢
      • 2015-08-20
      • 1970-01-01
      • 2014-09-07
      • 1970-01-01
      • 1970-01-01
      • 2014-06-02
      • 2014-10-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多