Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Capitulo 4
Capitulo 4
CAPÍTULO 4
Herramientas de mapeo objeto‐relacional
Actividad 4.3
4.6.3 ACTUALIZAR
public static void modificar_album(int id, String tit, String aut)
• Para modificar un objeto {
existente en la base de Transaction tx=null;
Session session =
datos se usa el método HibernateUtil.getSessionFactory().openSession();
tx=session.beginTransaction(); //Crea una transacción
update(Objeto). Albumes a = new Albumes(id);
a.setAutor(aut);
( )
• El código muestra un a.setTitulo(tit);
Actividad 4.5
4.7 CONSULTAS HQL (HIBERNATE QUERY
LANGUAGE))
LANGUAGE
• En Hibernate el lenguaje utilizado se llama HQL (Hibernate
Query Language).
Language)
• Este lenguaje es una versión de la sintaxis de SQL, adaptada
para devolver objetos.
p j
• HQL tiene las siguientes características:
– Los tipos de datos son los de Java.
– Las consultas son independientes del lenguaje de SQL específico de la
base de datos.
– Las
L consultas
lt son iindependientes
d di t deld l modelo
d l dde tablas
t bl de d la
l base
b de
d
datos. No se necesita conocer el modelo lo que hace de la
independencia una ventaja.
– Es posible tratar con las colecciones de Java (java.io.List, por ejemplo).
– Es posible navegar entre los distintos objetos en la propia consulta.
4.7.1 EJECUTAR HQL DESDE JAVA
public static void consulta()
• Desde un proyecto Java con {
Hibernate se p puede String c= “select a from Albumes a where titulo like
'%l %”
'%love%”;
ejecutar consultas HQL Session session =
HibernateUtil.getSessionFactory().openSession();
utilizando la clase Query. Query q= session.createQuery(c);
List results = q.list();
q list();
• Uno de los métodos más q.
Iterator albumesiterator= results.iterator();
usados de la clase Query es while (albumesiterator.hasNext())
li t() Este
list(). E t método
ét d devuelve
d l {
Albumes a2= (Albumes)albumesiterator.next();
un java.io.List (Colección) System.out.println ( " ‐ " + a2.getTitulo () );
}
con los objetos devueltos session.close();
l ()
por una consulta HQL. }
Actividad 4.6
4.8 CONCLUSIONES Y PROPUESTAS PARA
AMPLIAR
• Este capítulo se ha centrado únicamente en las alternativas
más básicas que muestren una idea global de lo que
Hibernate puede ofrece. Con esta base, profundizar en
Hibernate es más sencillo.
• A continuación se muestran líneas posibles de ampliación de
los contenidos :
– Estudiar HQL y las posibilidades que ofrece para consultas avanzadas
que reúnan varios objetos.
– Ampliar el conocimiento sobre los métodos y clases de Hibernate.
Hibernate
4.9 RESUMEN DEL CAPÍTULO
• En el capítulo se han mostrado las características de los ORM.
• Esta alternativa de acceso a datos permite el acceso
transparente a los sistemas relacionales a través de objetos.
• En este capítulo se ha trabajado con Hibernate para Java.
Java
• Este capítulo sirve como muestra para una alternativa de
acceso a datos a medio camino entre el acceso directo y
clásico con JDBC (conectores), como muestra el capítulo 2, y el
acceso más avanzado a bases de datos OO, como muestra el
capítulo 3.
ACCESO A DATOS
CAPÍTULO 4
Herramientas de mapeo objeto‐relacional