jpa

JPA (hibernate) onetomany relation

Hello, I am not sure what I am missing to make a bidirectional onetomany relationship (hibernate engine). A scaled down version of the domain model: class Person { @OneToMany(mappedBy="personFrom", cascade = CascadeType.PERSIST) public List<Relationship> relationships; } class Relationship { @ManyToOne public Person personFrom;...

What is the proper way to ensure EntityManager connections are closed?

There are 19 methods in our DAO layer, each is some variation of this: public TicketProp saveTicketProp(TicketProp prop) { EntityManager em = this.emf.createEntityManager(); try { em.getTransaction().begin(); prop = (TicketProp) em.merge(prop); em.getTransaction().commit(); return prop; } fina...

JPA: Problem with persisting Foreign Key Constraint

I got two Entity: Customer Entity @Entity public class Customer { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private String name; @OneToMany(mappedBy="customer", cascade=CascadeType.ALL) private List<Facility> facilities; //Setter and Getter for name and facilities public void addFacility(Facility facil...

When should we close the EntityManagerFactory?

Hello, I am pretty new on the ORM's. I just start to read books and documents about Java Persistence API with Hibernate. I just wondered, closing EntityManagerFactory is similar with jdbc database connection closing? Should we close it after every persist/update/delete or not? If we don't close it, will the database connection stay ...

Spring @transactional does not start a transaction while testing with JUnit4

I have following configuration. <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5....

Hibernate annotations and foreign key relationship

I have a domain object annotated like this for hibernate support. @Entity @Table(name = "INPUT") public class AppInput { /** * Unique id for this request */ @Id @GeneratedValue @Column(name = "INPUT_ID") private long requestId; /** * */ @Column(name = "EMAIL_ID") private String emailId; /** * */ ...

jpa deleting manytomany links

I have a table of events and i want to make groups of them. that is the easy easy // this cascade group still removes the join table but not the products table @ManyToMany(targetEntity=Product.class,fetch = FetchType.EAGER, cascade = {CascadeType.PERSIST, CascadeType.REFRESH,CascadeType.MERGE}) @JoinTable(name = "lcw_group_prod...

Under what conditions would SELECT by PRIMARY KEY be slow?

Chasing down some DB performance issues in a fairly typical EclipseLink/JPA application. I am seeing frequent queries that are taking 25-100ms. These are simple queries, just selecting all columns from a table where its primary key is equal to a value. They shouldn't be slow. I'm looking at the query time in the postgres log, using the...

Equal and hashcode in inherited class

Hello, In my understanding, the below implementation of equal and hashcode are safe as the correct method in derived class would invoke (instead of parent), even if I call it through the parent pointer. Provided the parent is treated as abstract class (uses in JPA - hiberante base class). Please confirm this assumption based on the e...

how to write JPA query

Hello, Learning how to write JPA query. Please advise me whether it possible to write the below queries more efficiently, may be in a single select statement. May be a join, but not sure how to do it. class Relationship { @ManyToOne public String relationshipType; //can be MANAGER, CUSTOMER etc @ManyToOne public Party party...

Seam Hibernate Serves same EntityManger instance to two separate threads

Hi, I am new to the Java / Hibernate / Seam way of development but I appear to have a strange issue with Hibernate and concurrent threads. I have a application scoped Seam component which is executed via EJB timers at a set interval (Orchestrator.java) calling the method startProcessingWorkloads. This method has a injected EntityManag...

Validating Jpa Entities: In service or by lifecycle listeners

The question is where it is better (or in other words: where do you prefer) to put business validation logic of Jpa Entities. Two ideas are: In the EntityListener that before save or update would validate the entity In the service that provides access to jpa persisting methods. There are pros and cons of both. When using approach N...

Wicket + Spring + JPA + Hibernate tutorial

Hi, I'm looking for a step by step tutorial on building small web application using Wicket, Spring, JPA and Hibernate assuming that the programmer is advanced in java but new to those technologies (so if the whole set up was included that would be perfect). Could anyone help? Thanks in advance. ...

What is 'weaving'?

I've seen this term when read about how Spring works and I've just read the article about JPA implementation performance and it has the next statistics: EclipseLink 3215 ms (Run-time weaver - Spring ReflectiveLoadTimeWeaver weaver ) EclipseLink (Build-time weaving) ...

To catch the reason of the unique constraint on JPA

Hello everyone. I am trying to learn JPA and I have a problem that I stucked in since 2 days. I have a table named "User" includes id,email,password,username and status. As you guess email and username columns are unique. I also have a Class called User something like that : @Entity @Table(name = "user", uniqueConstraints = @UniqueC...

What is a good inheritance strategy with Hibernate and JPA?

Hi all, i have this situation: I have an entity, "Person", that contains all personal details of a person, like birth date, street address, municipality ecc ecc. And i have an entity "ClubMember" that describe a member of a club and contains some field like: registration date, type of member, credit, ecc ecc So, a ClubMember is a Perso...

JPA createNamedQuery syntax

Hello, In Pro JPA 2 (Apress) book, I have seen examples like, EntityManager em; Long count = em.createNamedQuery(countQueryName, Long.class).getSingleResult(); But, the api , hopefully applied to JPA 2.0, shows the syntax as createNamedQuery(String name) Parameters: name - the name of a query defined in metadata with a single p...

Why hibernate perform two queries for eager load a @OneToOne bidirectional association?

Hi, i have entity A that has-a B entity, and B has-a A with @OneToOne bidirectional association. Now, when i findall A records, hibernate perform two queries with a left outer join on B, something like this: select a.id, a.id_b, a.field1, b.id, b.field1 from A as a, B as b left outer join b ON b.id=a.id_b; select a.id, a.id_b, a.field1...

Error injecting entity manager with Wicket/JPA

I have an app using Wicket for the presentation layer with CDI/Weld, JPA 2.0, EJB 3.1 etc. (JEE 6) deployed on GlassFish v3.0.1. When I try to inject an EJB into a wicket page using @EJB I get the following error: java.lang.IllegalStateException: Unable to retrieve EntityManagerFactory for unitName When I try to inject using @Inject, ...

JPA 2.0 Criteria and grouping of Predicates

I encounter problem with Hibernate EntityManager 3.5.3-Final when it comes to composite predicates. Example (not actual code snippet, but the idea should be clear): CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder(); Predicate predicate1 = criteriaBuilder.conjunction(); Predicate predicate2 = criteriaBuilder.conjuncti...