0

我有一个 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 配置实现,但我只想用注释来实现它。

4

1 回答 1

0

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

public class Person{

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

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

session.enableFilter("filterAddressType").setParameter("addressType ", "Home");
于 2012-01-04T10:46:08.023 回答