Supposons qu'il existe deux entités EntityA et EntityB. Deux tables sont définies pour les deux entités. EntityB est une entité enfant de EntityA. Maintenant dans les pojos java utilisant l'annotation hibernate, j'ai défini deux classes correspondant aux tables EntityA et EntityB comme ci-dessous.Hibernate: le filtre sur l'entité parente filtre-t-il implicitement l'entité enfant?
@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()
{
}
}
Depuis que j'ai le filtre sur EntityA. Est-il implicite que EntityB aura des objets chargés seulement qui correspondent aux objets filtrés de EntityA en gardant à l'esprit la relation parent-enfant ou ont besoin de mettre explicitement le filtre sur EntityB? Exemple si EntityA est filtré de sorte que les objets correspondant à l'année 2010 soient chargés uniquement. Je veux que l'objet chargé d'EntityB soit seulement ce qui sont des fils d'EntityA objets correspondant à l'année 2010 seulement.
J'ai la colonne de l'année seulement dans la table entityA pas dans l'entitéB. Si je suppose que je veux filtrer EntityB même si je l'interroge directement. Que devrais-je faire? Pouvez-vous s'il vous plaît me fournir un exemple de code. –
Aucun corps n'a répondu à ma question pendant tant de jours. Suis-je pas clair en faisant mes points en question? Que devrais-je améliorer ma question? –
Merci d'avoir répondu à toutes mes questions en suspens. –