我有一个类Person,它可以有4种类型的
地址,并且可能有多个地址对应于一种类型的地址。public class Person{
Set<Address> addresses;
}
public class Address{
private int phoneNumber;
private Type addressType;
}
public Enum Type{
Buisness,
Personal,
X,
Y
}
因此,我想要实现的是,当填充人员对象时,应使用特定类型的地址填充特定类型的添加列表。但是,我希望指定在运行时要填充的地址类型。我认为可以通过休眠过滤器XML配置来实现,但我想仅使用注释来实现它。
您可以使用@Filter注释在运行时筛选出数据。
public class Person{
@Filter(name="filterAddressType", condition=":addressType = addressType")
Set<Address> addresses;
}
在运行时,您可以通过会话应用过滤器数据,如下所示:
session.enableFilter("filterAddressType").setParameter("addressType ", "Home");