Skip to content
This repository was archived by the owner on Jan 30, 2019. It is now read-only.

Commit ea84bc3

Browse files
author
Arun Gupta
committed
Cleaned up queries
Former-commit-id: 8f5f2803e1ef2d22cb49aad4b211efc80a62c94a
1 parent 3f8d69a commit ea84bc3

1 file changed

Lines changed: 8 additions & 26 deletions

File tree

  • samples/jpa/locking-optimistic/src/main/java/org/glassfish/samples/locking/optimistic

samples/jpa/locking-optimistic/src/main/java/org/glassfish/samples/locking/optimistic/MovieBean.java

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,8 @@
4242
import java.util.List;
4343
import javax.ejb.Stateless;
4444
import javax.persistence.EntityManager;
45+
import javax.persistence.LockModeType;
4546
import javax.persistence.PersistenceContext;
46-
import javax.persistence.Query;
47-
import javax.persistence.TypedQuery;
48-
import javax.persistence.criteria.CriteriaBuilder;
49-
import javax.persistence.criteria.CriteriaDelete;
50-
import javax.persistence.criteria.CriteriaQuery;
51-
import javax.persistence.criteria.CriteriaUpdate;
52-
import javax.persistence.criteria.Root;
5347

5448
/**
5549
* @author Arun Gupta
@@ -61,32 +55,20 @@ public class MovieBean {
6155
EntityManager em;
6256

6357
public List<Movie> listMovies() {
64-
CriteriaBuilder builder = em.getCriteriaBuilder();
65-
CriteriaQuery listCriteria = builder.createQuery(Movie.class);
66-
Root<Movie> listRoot = listCriteria.from(Movie.class);
67-
listCriteria.select(listRoot);
68-
TypedQuery<Movie> query = em.createQuery(listCriteria);
69-
return query.getResultList();
58+
return em.createNamedQuery("Movie.findAll", Movie.class).getResultList();
7059
}
7160

7261
public void updateMovie() {
73-
CriteriaBuilder builder = em.getCriteriaBuilder();
74-
CriteriaUpdate updateCriteria = builder.createCriteriaUpdate(Movie.class);
75-
Root<Movie> updateRoot = updateCriteria.from(Movie.class);
76-
updateCriteria.where(builder.equal(updateRoot.get(Movie_.name), "Inception"));
77-
updateCriteria.set(updateRoot.get(Movie_.name), "INCEPTION");
78-
Query q = em.createQuery(updateCriteria);
79-
q.executeUpdate();
62+
Movie m = em.find(Movie.class, 3);
63+
em.lock(m, LockModeType.PESSIMISTIC_WRITE);
64+
m.setName("INCEPTION");
65+
em.merge(m);
8066
em.flush();
8167
}
8268

8369
public void deleteMovie() {
84-
CriteriaBuilder builder = em.getCriteriaBuilder();
85-
CriteriaDelete deleteCriteria = builder.createCriteriaDelete(Movie.class);
86-
Root<Movie> updateRoot = deleteCriteria.from(Movie.class);
87-
deleteCriteria.where(builder.equal(updateRoot.get(Movie_.name), "The Matrix"));
88-
Query q = em.createQuery(deleteCriteria);
89-
q.executeUpdate();
70+
Movie m = em.find(Movie.class, 1);
71+
em.remove(m);
9072
em.flush();
9173
}
9274

0 commit comments

Comments
 (0)