Articles of jpa

Invalidar la sesión de JPA EntityManager

Un proyecto en el que estoy trabajando utiliza Spring 2.5 y JPA con Hibernate como proveedor. Mis clases DAO extienden JpaDaoSupport, así que obtengo mi JpaTemplate usando el método getJpaTemplate (). La base de datos back-end puede ser modificada por mi aplicación o por una aplicación de terceros. Cuando una aplicación de terceros cambia la […]

Datos redundantes en las declaraciones de actualización

Hibernate genera instrucciones UPDATE , que incluyen todas las columnas, independientemente de si estoy cambiando el valor en esas columnas, por ejemplo: tx.begin(); Item i = em.find(Item.class, 12345); i.setA(“a-value”); tx.commit(); emite esta statement de UPDATE : update Item set A = $1, B = $2, C = $3, D = $4 where id = $5 […]

Spring-Data FETCH JOIN con paginación no funciona

Estoy tratando de usar HQL buscando mi entidad junto con subentidades usando JOIN FETCH, esto está funcionando bien si quiero todos los resultados pero no es el caso si quiero una Página Mi entidad es @Entity @Data public class VisitEntity { @Id @Audited private long id; . . . @OneToMany(cascade = CascadeType.ALL,) private List comments; […]

Hibernate, Spring, JPS y aislamiento: aislamiento personalizado no admitido

He estado intentando esto: @Transactional(isolation=Isolation.SERIALIZABLE, rollbackFor={Exception.class}, propagation=Propagation.REQUIRES_NEW) en mis métodos de servicio, pero la spring se queja diciendo: Standard JPA does not support custom isolation levels – use a special JpaDialect ¿Cómo puedo resolver esto?

Clonación de la entidad JPA

Tengo una entidad JPA ya persistida en la base de datos. Me gustaría tener una copia (con una identificación diferente), con algunos campos modificados. ¿Cuál es la forma más fácil de hacer esto? Me gusta: configurando su campo @Id como nulo y persistiendo, ¿funcionará? ¿tendré que crear un método de clonación para la entidad (copiando […]

Cambiando la Unidad de Persistencia dinámicamente – JPA

Las unidades de persistencia en persistence.xml se crean durante la creación de la aplicación. Como quiero cambiar la URL de la base de datos en tiempo de ejecución, ¿hay alguna forma de modificar la unidad de persistencia en tiempo de ejecución? Se supone que debo usar una base de datos diferente a la que estaba […]

¿Cómo forzar manualmente una confirmación en un método @Transactional?

Estoy usando Spring / Spring-data-JPA y me veo en la necesidad de forzar manualmente una confirmación en una prueba unitaria. Mi caso de uso es que estoy haciendo una prueba de subprocesos múltiples en la que tengo que usar datos que persisten antes de que se generen los subprocesos. Desafortunadamente, dado que la prueba se […]

Problema de Hibernate: “Uso de @OneToMany o @ManyToMany para una clase no asignada”

Estoy encontrando mis pies con Hibernate Annotations y me he topado con un problema que espero que alguien pueda ayudar. Tengo 2 entidades, Sección y ScopeTopic. La sección tiene un miembro de la clase Lista, por lo que una relación Uno a Muchos. Cuando ejecuto mi prueba de unidad obtengo esta excepción: Uso de @OneToMany […]

JPA Múltiples campos integrados

¿Es posible que una clase de entidad JPA contenga dos campos incrustados ( @Embedded )? Un ejemplo sería: @Entity public class Person { @Embedded public Address home; @Embedded public Address work; } public class Address { public String street; … } En este caso, una Person puede contener dos instancias de Address : casa y […]

¿Cómo puedo guardar correctamente en cascada una relación bidireccional uno a uno en la clave principal en Hibernate 3.6?

Tengo una relación de entidad bidireccional uno a uno con claves compartidas. Cuando bash salvar al propietario de la asociación, recibo una excepción de “null id generated” contra el lado de la propiedad de la relación. Estoy utilizando hibernate-entitymanager y estoy usando spring para la gestión de transacciones. Poseer entidad @Entity @Table(name = “lead”) public […]