La diferencia entre update() y saveOrUpdate() en Hibernate, la diferencia entre load() y get(), y la diferencia entre Hibernate y JPA.
1: La diferencia entre los métodos get y load de Hibernate
El comportamiento es diferente cuando los datos consultados no existen: carga: recuperación retrasada get: recuperación inmediata
1: cargar devuelve un objeto proxy. Cuando se va a utilizar el objeto, se enviará una declaración SQL desde la base de datos para obtenerlo. Cuando no haya un registro correspondiente en la base de datos, se informará. Cuando no hay un registro correspondiente en la base de datos, se informará un error
2: obtiene la carga directamente desde la base de datos sin retrasar la carga y devuelve un valor nulo cuando no hay un registro correspondiente en la base de datos.
2: La diferencia entre guardar y actualizar
Guardar es guardar un objeto nuevo
Actualizar es guardar un objeto que está fuera de control
Objeto a guardar
3: La diferencia entre persist(), save() y saveOrUpdate() persist(): solo acepta objetos en un estado temporal, es decir, si un objeto en se le pasa un estado no temporal y se generará una excepción.
save(): Guarda el objeto en la base de datos independientemente de si se encuentra en un estado temporal. saveOrUpdate(): Si la clave primaria tiene un valor, se realiza la actualización; si la clave primaria no tiene ningún valor, se realiza la inserción
4: load()----gt; ) y update()
p>load()----gt; setXX(): Admite actualización dinámica: en este momento, debe agregar en el archivo de configuración:dynamic-update = "true "actualización: se utiliza para actualizar el estado administrado del objeto para que se convierta en un estado persistente. La actualización de un objeto temporal sin un valor correspondiente para la clave principal no se realizará correctamente:
jpa está anotado y no requiere que se configuren archivos de mapeo de hibernación para cada tabla.