Sau đây là các bước để truy vấn dữ liệu dùng JPA
Bước 1: Tạo đối tượng EntityManager
EntityManager entityManager = Persistence.createEntityManagerFactory("FptGamesPU").createEntityManager();
FptGamesPU là tên được lấy ở file persistence.xml trong thư mục META-INF.Bước 2: Viết câu lệnh truy vấn
Khâu khó khăn nhất là chúng ta phải viết các câu lệnh truy vấn dùng JP Query các bạn có thể tham khảo ở trang của oracle.String jpaQuery = "SELECT u FROM User u WHERE u.fullName = :fullName";Nhưng bạn cũng có thể dùng các câu lệnh mà Netbeans đã tạo sẵn gọi là named query ở entity fpt.games.entity.User.
Bước 3: Tạo đối tượng Query
Query query = entityManager.createQuery(jpaQuery, User.class);Nếu tạo named query thì dùng lệnh:
Query query = entityManager.createNamedQuery("User.findByFullName", User.class);
Bước 4: Truyền các tham số vào câu lệnh truy vấn nếu có
Dùng phương thức setParameter() để truyền các tham số vào đối tượng query vừa tạo ra. Chúng ta có thể sử dụng tên của tham số hoặc số thứ tự của nó, nhưng tốt nhất là dùng tên để tránh nhầm lẫn giữa các tham số.query.setParameter("fullName", "%nguyễn%");
Bước 5: Lấy kết quả và xử lý
Chúng ta có nhiều phương thức khác nhau để lấy về kết quả của các câu lệnh truy vấn, một trong những phương thức thường được dùng là getResultList():List result =query.getResultList(); System.out.println(result);JP Query cho phép chúng ta thực hiện các thao tác mạnh mẽ như làm việc với SQL mà không cần phải dùng tới SQL.
source code