Domanda

In SQL è facile eseguire un join e restituire solo le colonne desiderate dalla tabella unita. Qual è il modo migliore per mappare questo in JPA / Hibernate?

Ad esempio, esiste un'entità Cartella mappata su EMAIL_FOLDER e un'entità Email mappata sulla tabella EMAIL. Esiste una relazione uno-a-molti dalla cartella all'e-mail. L'entità e-mail è piuttosto pesante perché contiene CLOB di testo, allegati, ecc. Ci sono alcuni casi in cui dobbiamo recuperare l'intera e-mail e ci sono altri casi in cui vogliamo solo riportare mittenteNome, oggetto e sentDate e non si desidera che l'overhead della memoria porti i dati CLOB. Realizzare questo in SQL è semplice, ma non sono sicuro quale sia l'approccio migliore in JPA / Hibernate.

Sto pensando di creare un LightEmail che si associ solo a senderName, subject e sentDate. È questo il modo migliore per gestire qualcosa del genere?

Aggiornamento: a questo punto vorrei evitare la strumentazione del codice byte, se possibile.

È stato utile?

Soluzione

Annota la proprietà (CLOB) come @Basic (fetch = FetchType.LAZY)

Vedi Dichiarazione dei mapping di proprietà di base nel riferimento di ibernazione

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top