Pregunta

En SQL, es fácil hacer una unión y solo devolver las columnas que desea de la tabla unida. ¿Cuál es la mejor manera de mapear esto en JPA / Hibernate?

Por ejemplo, hay una entidad de carpeta asignada a EMAIL_FOLDER y una entidad de correo electrónico asignada a la tabla de EMAIL. Existe una relación de uno a varios desde la carpeta hasta el correo electrónico. La entidad de correo electrónico es bastante pesada porque contiene CLOBs del texto, archivos adjuntos, etc. Hay algunos casos en los que necesitamos recuperar todo el Correo electrónico y hay otros casos en los que solo queremos recuperar el nombre del remitente, el asunto y la fecha de envío y no desea la sobrecarga de memoria de traer los datos CLOB. Lograr esto en SQL es sencillo, pero no estoy seguro de cuál sería el mejor enfoque en JPA / Hibernate.

Estoy pensando en crear un LightEmail que solo se asigne a senderName, subject y sentDate. ¿Es esta la mejor manera de manejar algo como esto?

Actualización: en este punto me gustaría evitar la instrumentación de código de bytes si es posible.

¿Fue útil?

Solución

Anote la propiedad (el CLOB) como @Basic (fetch = FetchType.LAZY)

Consulte Declaración de asignaciones de propiedades básicas en la referencia de hibernación

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top