假设有两个实体EntityA和EntityB。 为两个实体定义了两个表。实体B是实体A的子实体。 现在在使用hibernate注释的java pojos中,我已经定义了两个对应于表EntityA和EntityB的类,如下所示。Hibernate:是否对父实体进行过滤隐式过滤子实体?
@FilterDef(name = "myfilter", parameters = { @ParamDef(name = "year", type = "int") }, defaultCondition = ":year = year")
public class EntityA
{
@OneToMany(mappedBy="EntityA")
List<EntityB> getEntityBList()
{
}
}
public class EntityB
{
@ManyToOne
@joincolumn(name="entityA_id")
EntityA getEntityA()
{
}
}
因为我对EntityA有过滤器。隐含的是,EntityB将只加载对应于EntityA的过滤对象的对象,记住父子关系或者需要明确地将过滤器放在EntityB上?
如果对EntityA进行过滤以使对应于2010年的对象仅被加载的示例。我希望EntityB的加载对象只应该是仅对应于2010年的EntityA对象的子对象。
我只在entityA表中不包含entityB中的年份列。如果假设我希望EntityB被过滤,即使我直接查询它。我该怎么办?你能否给我提供示例代码。 – 2010-12-15 07:48:52