No puedo respaldarlo con ningún tipo de documentación profesional, pero esta es mi opinión al respecto. Creo que tienes dos caminos posibles a seguir.
dtos única
El primero se basa en los granos de modelo a dtos de civil, que se utiliza sólo para la persistencia de datos, realizando ninguna lógica. Aquí puede dejar sus campos POJO sin inicializar, ya que Hibernate lo hará automáticamente antes de recuperar objetos persistentes mediante Session. Estoy seguro de que ya sabe, que Hibernate envolverá todas las colecciones en sus propias envolturas, lo cual es necesario mediante un mecanismo interno de persistencia.
clases modelo adecuado
El segundo enfoque tiene POJOs un poco más lejos. En este escenario, puede realizar un poco de lógica dentro de los métodos getters y setters. Este no es un escenario poco común, después de todo, es perfectamente aceptable para MVC y muy a menudo uno tendría la necesidad de agregarles algún código. Por ejemplo - la tala alguna información al llamar a un método seleccionador, el siguiente ejemplo:
public void setItems(List<Object> items){
LOGGER.info("Setting '{}' new items", items.size());
this.items = items;
}
En ese caso, se podría cayó en problemas, ya que por lo que yo sé la colección no será inicializado por Hibernate en este punto. En ese caso, la inicialización explícita sería mejor.
Comentario final: No soy el experto en Hibernate, tampoco sé si algo ha cambiado en 4.x, pero sé que soporté este problema en algún momento.
¿Por 'colección de instancia' quiere decir 'propiedad de recopilación persistente'? –
@MikePartridge sí, eso es lo que quise decir. – Danny