4242import java .util .List ;
4343import javax .ejb .Stateless ;
4444import javax .persistence .EntityManager ;
45+ import javax .persistence .LockModeType ;
4546import 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