nuevo en primavera y aquí @stackoverflowprimavera @Transactional fusionar y persistir pregunta
Estoy construyendo un inventario autónomo & Ventas seguimiento de aplicaciones (Apache Pivot/primavera/JPA/Hibernate/MySQL) para que una empresa distribuidora .
Hasta ahora creo que todo es CRUD, así que planeo tener una clase base con todo @Transactional.
Luego tengo un problema con mi método genérico de guardado. ¿Persistir y combinar el método de EntityManager de Spring tiene una diferencia?
Intenté ejecutar y llamé al guardar tanto para insertar como para actualizar y funcionó bien (creo que spring actualiza automáticamente la entidad cada vez que llamo a mi método save // vi las consultas de hibernación registradas, ¿verdad?).
@Transactional
public abstract class GenericDAO {
protected EntityManager em;
// em [email protected]/setter
public void save(T t) {
// if (t.getId() == null) // create new
// {
// em.persist(t);
// } else // update
// {
em.merge(t);
// }
}
}
Y por cierto, que tiene una configuración como esta, no voy a ser mucho comprometer el rendimiento correcto? Como llamar a salesDAO.findAll() para generar informes (que no necesita ser transaccional, ¿verdad?).
gracias !!!
Invito esta es la forma más sencilla de hacerlo. Entonces, si tengo JpaDaoSupport y obtengo una entidad de él, ¿se realizarán automáticamente los cambios? Creo que tendré dos variantes de método guardar, una que persiste y otra que llama "flush". ¿Algún comentario sobre esto? – thirdy
¿Quiere decir automático como cometido sin guardar ni actualizar? Si es así, no lo creo, siempre llamo guardar en una nueva entidad o actualizar en una existente para persistir. Nunca tuve que llamar al método de descarga, pero el acceso a mi base de datos es bastante simple para cualquier solicitud dada. –
Tendré que dejar de intentar la primavera por ahora. Solo curiosidad, ¿cómo mejora Grails en esto? No tendré que enfrentarme a problemas como estos en Grails ¿no? – thirdy