ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

HibernateUtil Clases para JAVA


Enviado por   •  4 de Diciembre de 2015  •  Apuntes  •  527 Palabras (3 Páginas)  •  219 Visitas

Página 1 de 3

HQL. Introducción

• Es un lenguaje de base de datos similar al SQL,

completamente orientado a objetos, usamos nombres

de clases y sus propiedades en lugar de nombres de

tablas y columnas.

• No diferencia entre mayúsculas y minúsculas excepto

en los nombres de clases…

• Regresa sus resultados en forma de objetos

• Independiente del manejador de base de datos

• No existe el select *

• Para hacer referencia a algún campo necesitamos

haberle asignado un alias a la tabla

FROM Usuario as u WHERE u.id = 1

FROM Usuario u WHERE u.id = 1

HQL

• Podemos asignar alias a las entidades asociadas o a los

elementos de una colección de valores usando un join

(las propiedades que sirven de enlaces entre clases):

FROM Usuario u inner join u.permisos as p

• Existen dos formas de referirnos a la propiedad que

sirve como identificador de la entidad:

– La propiedad especial “id” (así con minúsculas). No

importa si la clase entidad no tiene una propiedad llamada

id.

FROM Usuario as u WHERE u.id = 1

– Por la propiedad identificador

FROM Usuario as u WHERE u.clave = 1

HQL. Fetch join LAZY

@Entity

public class Libro implements Serializable

{ @Id

@GeneratedValue(strategy=GenerationType.IDENTITY)

private long id;

private String titulo;

public class Persona implements Serializable

{ @Id

@GeneratedValue(strategy=GenerationType.IDENTITY)

private long id;

private String nombre;

@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY)

@JoinColumn (name="personaID")

private List<Libro> libros = new ArrayList<Libro>();

Esto quiere decir que cuando recuperemos, ya dentro de una aplicación, a la

Persona, sus libros no serán recuperados e inicializados en ese momento. Al

hacer referencia a persona.getLibros() se realizará el select necesario

HQL. Fetch join LAZY

Fetch Join no se permite con iterate

Query cons = sesion.createQuery("from Persona per left join fetch per.libros");

List<Persona> listaContactos = cons.list(); //sin left no aparecen las personas sin libros

System.out.println("Hay " + listaContactos.size() + "contactos en la base de datos");

Integer idper=0;

for(Persona

...

Descargar como (para miembros actualizados)  txt (4.2 Kb)   pdf (46.3 Kb)   docx (12.6 Kb)  
Leer 2 páginas más »
Disponible sólo en Clubensayos.com