Hibernate Query Lenguage
Enviado por gerardo234 • 10 de Enero de 2016 • Apuntes • 2.528 Palabras (11 Páginas) • 295 Visitas
Hibernate Query Language (HQL)
- Hibernate Query Language
- Ventaja de HQL
- Interfaz de consulta
Hibernate Query Language (HQL) es igual que SQL (Structured Query Language), pero no depende de la tabla de la base de datos. En lugar de nombre de la tabla, se utiliza el nombre de clase en HQL. Por lo que es la base de datos lenguaje de consulta independiente.
Ventaja de HQL
Hay muchas ventajas de HQL. Son los siguientes:
- independiente de base de datos
- apoya consultas polimórficas
- fácil de aprender para Java Programmer
Interfaz de consulta
Es una representación orientada a objetos de Hibernate consulta. El objeto de la consulta se puede obtener llamando al CreateQuery () interfaces Método Sesión.
La interfaz de consulta ofrece muchos métodos. Hay métodos comúnmente utilizados dadas:
- public int executeUpdate () se utiliza para ejecutar la actualización o eliminar consulta.
- listado público () devuelve el resultado de la ralation como una lista.
- Consulta setFirstResult público (int Rowno) especifica el número de fila desde donde se recuperará registro.
- Consulta setMaxResult público (int Rowno) especifica el no. de registros que se recupera de la relación (tabla).
- Consulta setParameter público (int posición, el valor del objeto) se establece el valor del parámetro de consulta estilo JDBC.
- Consulta pública setParameter (String nombre, el valor del objeto) se establece el valor de un parámetro de consulta con nombre.
Ejemplo de HQL para obtener todos los registros
- Query query=session.createQuery("from Emp");//here persistent class name is Emp List list=query.list(); Consulta consulta = session.createQuery ("de Emp"); // aquí nombre de la clase persistente es Lista Emp list = Query.list ();
Ejemplo de HQL para obtener registros con paginación
- Query query=session.createQuery("from Emp"); Consulta consulta = session.createQuery ("de Emp"); query.setFirstResult(5); query.setFirstResult (5); query.setMaxResult(10); query.setMaxResult (10); List list=query.list();//will return the records from 5 to 10th number Listado = Query.list (); // devolverá los registros del 5 al 10 de número
Ejemplo de HQL consulta de actualización
- Transaction tx=session.beginTransaction(); Transacción tx = session.beginTransaction (); Query q=session.createQuery("update User set name=:n where id=:i"); Q Consulta = session.createQuery ("actualización Valoración set name = n donde id =: i"); q.setParameter("n","Udit Kumar"); q.setParameter ("n", "Udit Kumar"); q.setParameter("i",111); q.setParameter ("i", 111); int status=q.executeUpdate(); int estado = q.executeUpdate (); System.out.println(status); System.out.println (estado); tx.commit(); tx.commit ();
Ejemplo de consulta HQL eliminar
- Query query=session.createQuery("delete from Emp where id=100"); Consulta consulta = session.createQuery ("eliminar de Emp donde id = 100"); //specifying class name (Emp) not tablename query.executeUpdate(); // nombre de la clase que especifica (Emp) no TABLENAME Query.executeUpdate ();
HQL con funciones de agregado
Usted puede llamar avg (), min (), max (), etc funciones agregadas por HQL. Veamos algunos ejemplos comunes:
Ejemplo para obtener el salario total de todos los empleados
- Query q=session.createQuery("select sum(salary) from Emp"); Q Consulta = session.createQuery ("select sum (sueldo) de Emp"); List
list=q.list(); Listalist = q.list (); Iteratoritr=list.iterator(); IteratorITR = list.iterator (); while(itr.hasNext()){ System.out.println(itr.next()); while (itr.hasNext ()) {System.out.println (itr.next ()); } }
Ejemplo para obtener el salario máximo de los empleados
...