lunes
ago012011
Manual Avanzado de JPA por Carmelo Navarro
Carmelo Navarro ha realizado este manual avanzado sobre JPA. En él encontrarás una guía de mejores prácticas para usar este ORM. El manual se divide en
- Bases de datos: Cómo modelar tu base de datos relacional para sacarle mejor provecho con JPA.
- Configuración de JPA: Tips para configurar tus aplicaciones.
- Transacciones. Manejo correcto de transacciones con esta tecnología.
- Modificar datos. Cómo evitar errores comunes a la hora de persistir datos y buenas prácticas para ello.
El manual toma como ejemplo la implementación OpenJPA 1.2. Gracias a Carmelo Navarro por enviarnos este documento.
Reader Comments (2)
Tengo un problema con mi aplicacion me sale el siguiente error
com...:197 - erorr pruebaGrabacion Could not commit JPA transaction; nested exception is javax.persistence.RollbackException: Transaction marked as rollbackOnly
org.springframework.transaction.TransactionSystemException: Could not commit JPA transaction; nested exception is javax.persistence.RollbackException: Transaction marked as rollbackOnly...
Y mi codigo es el siguiente:
List<Libro> listalib = ServicioDao.listarLibro();
for(Libro l: listalib){
contrato.adicionLibro(l);
}
servicioDao.crear(contrato);
y el metodo crear es el siguiente:
public void crear(T entidad) {
try {
getEntityManager().persist(entidad);
} catch (Exception e) {
log.fatal(e.getmessage,e);
}
}
cuando no adiciono ningun libro al contrato me permite grabar satisfactoriamente,
Por favor su ayuda para resolver esto
El problema q tienes es que al momento de insertar los datos tambien quiere insertar los datos de libro, fijate en el mapeo de la entidad contrato debes tener algo asi (si lo hiciste con jpa y ejb ) @manytoone(insertable=true) cambialo a false