Java Tutorial/JPA/Named Query

Материал из Java эксперт
Перейти к: навигация, поиск

EJB QL GroupBy

File: Main.java



   <source lang="java">

import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import javax.persistence.Query; public class Main {

 static EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPAService");
 static EntityManager em = emf.createEntityManager();
 public static void main(String[] a) throws Exception {
   em.getTransaction().begin();
   Query query = em.createQuery("SELECT d.name, COUNT(e) FROM Department d JOIN d.students e GROUP BY d.name");
   System.out.println(query.getResultList());
   em.getTransaction().rumit();
   em.close();
   emf.close();
   Helper.checkData();
 }

}</source>





EJB QL Group By And Aggregate Function

File: Main.java



   <source lang="java">

import java.util.Date; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.FlushModeType; import javax.persistence.Persistence; import javax.persistence.Query; public class Main {

 static EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPAService");
 static EntityManager em = emf.createEntityManager();
 public static void main(String[] a) throws Exception {
   em.getTransaction().begin();
   Query query = em.createQuery("SELECT d.name, AVG(e.salary) FROM Department d JOIN d.students e GROUP BY d.name");
   System.out.println(query.getResultList());
   em.getTransaction().rumit();
   em.close();
   emf.close();
   Helper.checkData();
 }

}</source>





EJB QL Group Named Query With Named Queries

File: Main.java



   <source lang="java">

import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.NoResultException; import javax.persistence.Persistence; public class Main {

 static EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPAService");
 static EntityManager em = emf.createEntityManager();
 public static void main(String[] a) throws Exception {
   em.getTransaction().begin();
   int id = 1;
   try {
     Student s = (Student) em.createNamedQuery("Student.findByPrimaryKey").setParameter("id", 1)
         .getSingleResult();
   } catch (NoResultException e) {
   }
   em.getTransaction().rumit();
   em.close();
   emf.close();
   Helper.checkData();
 }

}</source>





EJB QL MemberOf function

File: Main.java



   <source lang="java">

import java.util.Date; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.FlushModeType; import javax.persistence.Persistence; import javax.persistence.Query; public class Main {

 static EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPAService");
 static EntityManager em = emf.createEntityManager();
 public static void main(String[] a) throws Exception {
   em.getTransaction().begin();
   Query query = em.createQuery("SELECT e FROM Student e WHERE e MEMBER OF e.directs");
   System.out.println(query.getResultList());
   em.getTransaction().rumit();
   em.close();
   emf.close();
   Helper.checkData();
 }

}</source>





Named Query With Int Parameter

File: Main.java



   <source lang="java">

import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.NoResultException; import javax.persistence.Persistence; public class Main {

 static EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPAService");
 static EntityManager em = emf.createEntityManager();
 public static void main(String[] a) throws Exception {
   em.getTransaction().begin();
   int id = 1;
   try {
     Student s = (Student) em.createNamedQuery("Student.findByPrimaryKey").setParameter("id", 1)
         .getSingleResult();
   } catch (NoResultException e) {
   }
   em.getTransaction().rumit();
   em.close();
   emf.close();
   Helper.checkData();
 }

}</source>





Named Query With String Parameter

File: Main.java



   <source lang="java">

import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.NoResultException; import javax.persistence.Persistence; public class Main {

 static EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPAService");
 static EntityManager em = emf.createEntityManager();
 public static void main(String[] a) throws Exception {
   em.getTransaction().begin();
   String name = "Mark";
   try {
     Student s = (Student) em.createNamedQuery("Student.findByName").setParameter("name", name)
         .getSingleResult();
   } catch (NoResultException e) {
   }
   em.getTransaction().rumit();
   em.close();
   emf.close();
   Helper.checkData();
 }

}</source>