Dire que j'ai la suivante classe Hibernate cartographiée:
public class ClassA {
@OneToMany(fetch=EAGER)
private List<ClassB> bList;
}
3 Réponses :
Avez-vous essayé de vérifier la méthode getblist ()? Vous pouvez faire:
if(bList.isEmpty())
return null;
return bList;
Je pense que cela peut finir par être la solution la plus simple, oui
Je suis curieux pourquoi vous considérez cela une «limitation» - un blist NULL Je pense que dans la plupart des régions, une collection nulle et une collection vide ont le même sens sémantique, que je devinerais, c'est pourquoi les développeurs hibernés ont cherché à limiter l'hibernate à l'utilisation d'un. N'a pas beaucoup de sens de toujours vérifier code> a réellement un signification em> à votre application qu'un blist vide < / code>? p>
si (blist == null || blist.isempty) code> si les deux finissent toujours par le sens de la même chose. P>
C'est la plupart des situations, vous seriez correct, mais les clients de ce modèle d'objet particulier distinguent entre NULL et VIDE, et je n'ai aucun contrôle sur cela.
Pour la manipulation de votre code, la manière évidente est dans le getter, mais cela ne vous aide pas si vous souhaitez l'évaluer dans HQL. P>
Deux idées: P>
@pospostCharnet / @postConstruct code> méthode
qui fait la même chose. li>
ul> Ah, je n'étais pas au courant de @postload, j'aime ça. Comment cela interagit-il avec @postConstruct?