estoy un poco confundido por los JavaDocs en Session.load:¿Qué hace el método load() de Hibernate para IDs no existentes?
Return the persistent instance of the given entity class with the given identifier, assuming that the instance exists. This method might return a proxied instance that is initialized on-demand, when a non-identifier method is accessed.
You should not use this method to determine if an instance exists (use get() instead). Use this only to retrieve an instance that you assume exists, where non-existence would be an actual error.
entiendo que tengo que utilizar conseguir, pero lo que no entiendo es lo que se quiere decir con lo de que inicializa en la demanda cuando se usa un método no identificador.
Para mí, si tengo una clase y uso load(MyClass.class, NonExistingID)
, y luego imprimir el resultado de la getId()
en la instancia devuelta, parece producir automáticamente una nueva instancia con NonExistingID
cada vez. ¿Por qué es esto?
Estoy tratando de entender, ¿es getId()
un método no identificable?