Question

En SQL, il est facile de faire une jointure et de ne renvoyer que les colonnes souhaitées à partir de la table jointe. Quel est le meilleur moyen de mapper cela dans JPA / Hibernate?

Par exemple, il existe une entité Dossier mappée sur EMAIL_FOLDER et une entité Email mappée sur la table EMAIL. Il existe une relation un à plusieurs de Dossier à Email. L'entité Email est plutôt lourde car elle contient des objets CLOB du texte, des pièces jointes, etc. Il existe des cas dans lesquels nous devons récupérer l'intégralité de l'e-mail et d'autres cas dans lesquels nous souhaitons simplement ramener senderName, subject et sentDate. ne veulent pas la surcharge de mémoire liée à la saisie des données CLOB. Accomplir ceci en SQL est simple, mais je ne suis pas sûr de la meilleure approche à adopter dans JPA / Hibernate.

Je songe à créer un LightEmail qui mappe uniquement sur senderName, subject et sentDate. Est-ce la meilleure façon de gérer quelque chose comme ça?

Mise à jour: À ce stade, j'aimerais éviter si possible l'instrumentation du code octet.

Était-ce utile?

La solution

Annotez la propriété (le CLOB) en tant que @Basic (fetch = FetchType.LAZY)

Voir Déclaration de mappages de propriétés de base dans la référence Hibernate

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top