Classe Y a-t-il quelque chose que je puisse mapper "Compte b" à un attribut unique dans Le but serait d'offrir un raccourci pour récupérer le nombre d'associé A code> a une relation unique à B code>. Par conséquent, A code> a un attribut collectionOfb code>. P>
A code>? p>
B code> S sans charger toute la collection. Parfois, tout ce dont j'ai besoin, c'est le comte c'est-à-dire. La taille de la collection. Je sais que je pourrais émettre une requête contre le gestionnaire d'entité qui fait exactement cela. Cependant, le voir par le fournisseur de la JPA grâce à des annotations serait bien sûr préférable. P>
3 Réponses :
Aussi loin que je sache, ce n'est pas possible. Comme vous l'avez déjà suggéré, dirigez une requête pour y parvenir, ce qui ne devrait pas coûter cher, sauf si vous avez des centaines de milliers d'objets B et que vous pourriez toujours le mettre en cache et que vous ne mettez à jour que chaque X minutes. P>
Plus la solution sujette aux erreurs serait d'avoir une entité statistiques avec ce type de chiffres. P>
Le problème que j'ai avec écrit une requête est la façon dont nos entités sont utilisées. Nous utilisons Dozzer pour les cartographier automatiquement à leurs DTO respectifs (réactivée dans la couche de présentation).
Donc, lorsque Ado dispose d'un numéro de champ de Dozer appellerait une # getnumberofbs (). Habituellement, en fonction des annotations JPA dans A, les données sont automatiquement chargées à partir du magasin de données si elles ne sont pas encore présentes dans un I.e. paresseusement. Étant donné que nous avons souvent utilisé des DTO partitionnées telles que l'adto et l'ASUMARGARYD au DTO nécessite parfois une collection de BS et parfois uniquement des numéros de choix. J'espère que j'ai pu expliquer cela de manière complète ...
J'ai pu résoudre mon problème en utilisant le mappage extra-paresseux d'Hibernate: http://www.frighttanic.com/2010/11/21/extra-lazy-one-a-many-hibernate/ p >
C'est une bonne approche car cela ne nécessite pas beaucoup d'effort. La requête du compte est exécutée lorsque vous invoquerez la taille () sur la collection.
Peut-être que cela pourrait être réalisé en utilisant des formules: http://docs.jboss.org/ibernate/annotations/3.5/reference/fr/html_single/#entity-hibspec-property p>
Je ne sais aucun moyen de le faire. Vous devrez simplement écrire une requête de compte.
Il suffit de réaliser que cela peut être possible en utilisant des formules hibernate ( docs.jboss.org/hibernate/core/3.5/reference/fr/html/... ) Si on veut abandonner la conformité de la JPA.