假設有兩個實體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