Articles of jpa

Cómo llamar a Oracle Function o Procedure utilizando Hibernate (EntityManager) o JPA 2

Tengo una función de Oracle que devuelve sys-refcursor y cuando llamo a esta función usando Hibernate 4, recibo la siguiente excepción. Hibernate: { ? = call my_function(?) } org.hibernate.exception.GenericJDBCException: could not execute query javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not execute query at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1360) at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1288) at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:313) ¿Cómo puedo resolver esto? Función de Oracle create or replace […]

Inhabilitar el almacenamiento en caché en JPA (eclipselink)

Quiero usar JPA (eclipselink) para obtener datos de mi base de datos. La base de datos es modificada por varias otras fonts y, por lo tanto, quiero volver a la base de datos para cada hallazgo que ejecuto. He leído varias publicaciones sobre la desactivación de la memoria caché, pero parece que no funciona. ¿Algunas […]

¿Cuándo se debe crear / abrir la instancia de EntityManagerFactory?

Ok, leí muchos artículos / ejemplos sobre cómo escribir Entity Manager Factory en singleton. Uno de ellos es más fácil de entender para mí: http://javanotepad.blogspot.com/2007/05/jpa–entitymanagerfactory-in-web.html Me enteré de que EntityManagerFactory (EMF) solo debe crearse una vez preferiblemente en el ámbito de la aplicación. Y también asegúrese de cerrar el EMF una vez que se usa […]

Múltiples búsquedas con tipo EAGER en Hibernate con JPA

Tengo una entidad que contiene: @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy = “assessment”) @OrderBy(value = “order ASC”) private List assessmentParts = new LinkedList(); @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy = “assessment”) private List texts = new LinkedList(); como ve, hay dos colecciones que deben cargarse ansiosamente. Esto no está funcionando e hibernate arroja […]

Unirse a dos entidades de tabla en Spring Data JPA

Deseo escribir una consulta como Select * from A a left join B b on a.id=b.id , soy nuevo en Spring Data JPA. No sé cómo escribir entidades para la consulta de unión. @Entity @Table(name = “Release_date_type”) public class ReleaseDateType { @Id @GeneratedValue(strategy=GenerationType.TABLE) private Integer release_date_type_id; @Column private Integer sort_order; @Column private String description; @Column […]

JPA getSingleResult () o nulo

Tengo un método insertOrUpdate que inserta una Entity cuando no existe o la actualiza si lo hace. Para habilitar esto, tengo que findByIdAndForeignKey , si devuelve null insert if not then update. El problema es ¿cómo puedo verificar si existe? Así que probé getSingleResult . Pero arroja una excepción si el public Profile findByUserNameAndPropertyName(String userName, […]

Hibernate: ¿dónde insertable = false, updatable = false pertenece a las constelaciones de clave primaria compuestas que implican claves externas?

Al implementar claves primarias compuestas en Hibernate u otros ORM hay hasta tres lugares donde poner el insertable = falso, actualizable = falso en constelaciones de claves primarias compuestas que usan relaciones de identificación (FK que son parte del PK): En la clase compuesta PK ‘@Column annotation (@Embeddable classes only) o En la asociación de […]

Especificación de un índice (clave no única) mediante JPA

¿Cómo se define un campo, por ejemplo, el email que tiene un índice que utiliza anotaciones JPA? Necesitamos una clave no única en el email porque hay literalmente millones de consultas en este campo por día, y es un poco lento sin la clave. @Entity @Table(name=”person”, uniqueConstraints=@UniqueConstraint(columnNames={“code”, “uid”})) public class Person { // Unique on […]

Manejo de borrado suave con Spring JPA

Tengo una tabla Stuff definidas como … id, …, active Active es la bandera de borrado suave y siempre es 1 o 0 . A largo plazo esto puede desaparecer a favor de una tabla histórica. public interface StuffRepository extends JpaRepository {} En el código, siempre usamos registros activos. ¿Hay alguna manera de hacer que […]

Cuando use los métodos getOne y findOne Spring Data JPA

Tengo un caso de uso donde se llama lo siguiente: @Override @Transactional(propagation=Propagation.REQUIRES_NEW) public UserControl getUserControlById(Integer id){ return this.userControlRepository.getOne(id); } Observe que @Transactional tiene Propagation.REQUIRES_NEW y el repository usa getOne . Cuando ejecuto la aplicación, recibo el siguiente mensaje de error: Exception in thread “main” org.hibernate.LazyInitializationException: could not initialize proxy – no Session … Pero si […]