Recuerdo que hay una anotación en JPA o Hibernate para indicar a hibernate que use el método getId/setId en lugar de la propiedad (anotamos nuestras propiedades). Sin esta configuración getId resulta en ir a la base de datos y completar todos los campos de ese objeto que no es lo que quiero. ¿Alguien sabe qué es esa anotación?hibernate getId está cargando el objeto aunque es flojo
Ejemplo:
public void Project {
@Id
//Other annotation forcing hibernate to use property get/settter
public Long id;
}
public Ticket {
@ManyToOne(lazy=true)
public Project project;
}
así, ticket.getProject.getId() resulta en golpear la base de datos para obtener el proyecto cuando el ID ya está en el objeto proxy proyecto de hibernación. La anotación arreglará lo que recuerdo.
gracias, Dean
Enlace aquí con más detalles; http://256.com/gray/docs/misc/hibernate_lazy_field_access_annotations.shtml –
lo siento, he estado usando el playframework y te acostumbras un poco después de un tiempo. No me gustan los campos públicos, pero después de usar scala, me gustaría que Java tuviera algo así para reducir la codificación. –
disparar, esto genera una advertencia para cada clase, ya que la especificación de JPA dice que la anotación debe seguir el método getId, pero moverla allí solo genera una excepción y no funcionará en absoluto. ¿Cómo hago esto correctamente estos días? (Solía usar esto en el campo, pero podría haber sido el específico de hibernación) ... gracias. –