Está en la página 1de 12

Hibrnate

Cul es JDBC?
JDBC es sinnimo de Java Database Connectivity y proporciona un conjunto de API Java
para acceder a las bases de datos relacionales del programa Java. Estas API Java permite a
los programas Java para ejecutar sentencias SQL e interactuar con cualquier base de datos
SQL.

Cul es ORM?
ORM significa O bject- R elational M apping (ORM) es una tcnica de programacin para
convertir datos entre bases de datos relacionales y lenguajes de programacin orientados a
objetos como Java, C #, etc.

Cules son las ventajas de ORM ms de JDBC?


Un sistema ORM tiene ventajas siguientes sobre JDBC llano

SN ventajas

1 Permite acceso a objetos de cdigo de negocio en lugar de tablas de BD.

2 Oculta los detalles de las consultas SQL de la lgica OO.

3 Sobre la base de JDBC 'bajo el cap'

4 No hay necesidad de hacer frente a la aplicacin de base de datos.

5 Entidades basadas en conceptos de negocio en lugar de estructura de la base.

6 La gestin de transacciones y la generacin automtica de claves.

7 El rpido desarrollo de la aplicacin.

Nombrar algunos de los marcos ORM basado en JAVA.


Hay varios marcos persistentes y opciones de ORM en Java.

Beans de entidad EJB

Java Data Objects

Castor
TopLink

primavera DAO

Hibernar

Qu es Hibernate?
Hibernate es una solucin de mapeo objeto-relacional (ORM) para JAVA y se levant
como un marco persistente de cdigo abierto creado por Gavin King en 2001. Se trata de
un servicio de Objeto-Relacional La persistencia y la consulta de gran alcance, de alto
rendimiento para cualquier aplicacin Java.

clases de mapas de Hibernate Java a tablas de bases de datos y de tipos de datos Java con
tipos de datos SQL y aliviar el desarrollador del 95% de la persistencia de datos comunes
relacionados con las tareas de programacin.

Cules son las ventajas de utilizar Hibernate?


Las siguientes son las ventajas de utilizar Hibernate.

Hibernate se encarga de las clases de Java de mapeo a tablas de bases de datos


usando archivos XML y sin necesidad de escribir cualquier lnea de cdigo.

Proporciona APIs simples para almacenar y recuperar objetos Java directamente


hacia y desde la base de datos.

Si hay un cambio en la base de datos o en cualquier tabla a continuacin, la nica


necesidad de cambiar las propiedades del archivo XML.

Abstraer los tipos de SQL desconocidas y nos proporciona para trabajar alrededor
de objetos familiares Java.

Hibernate no requiere un servidor de aplicaciones para operar.

Manipula asociaciones complejas de los objetos de la base de datos.

Minimizar el acceso de base de datos con las estrategias de ir a buscar inteligentes.

Proporciona consulta simple de datos.

Nombrar algunas de las bases de datos que Hibernate soporta.


Hibernate soporta casi todos los principales RDBMS. Lo que sigue es la lista de algunos
de los motores de base de datos soportados por Hibernate.

Motor de base HSQL

DB2 / NT

MySQL

PostgreSQL

FrontBase

Orculo

Base de datos de Microsoft SQL Server

Sybase SQL Server

Informix Dynamic Server

Nombrar algunas de las herramientas / java marcos basado que apoya la integracin de
hibernacin.
Hibernate soporta una variedad de otras tecnologas, incluyendo las siguientes:

XDoclet primavera

J2EE

Eclipse plug-ins

Maven

Cules son los componentes clave / objetos de hibernacin?


Los siguientes son los componentes clave / objetos de hibernacin:

Configuracin - Representa un archivo de configuracin o propiedades requerido


por la hibernacin.

SessionFactory - Configura Hibernate para la aplicacin que utiliza el archivo de


configuracin suministrado y permite un objeto Session que se crea una instancia.
Sesin - Se utiliza para obtener una conexin fsica con una base de datos.

Transaccin - Representa una unidad de trabajo con la base de datos y la mayor


parte del RDBMS soporta la funcionalidad de transaccin.

Consulta - Utiliza SQL o una cadena de Hibernate Query Language (HQL) para
recuperar datos de la base de datos y crear objetos.

Criterios - Se utiliza para crear y ejecutar consultas de criterios orientados a


objetos para recuperar objetos.

Cules son los dos componentes clave de un objeto de configuracin de hibernacin?


El objeto de configuracin proporciona dos componentes claves:

Conexin de base de datos: Esto es manejado a travs de uno o ms archivos de


configuracin soportadas por Hibernate. Estos archivos
son hibernate.properties y hibernate.cfg.xml .

Configuracin del mapeado de Clase

Este componente crea la conexin entre las clases de Java y tablas de base de
datos.

Qu es un objeto de configuracin de hibernacin?


El objeto de configuracin es el primer objeto de Hibernate se crea en cualquier aplicacin
Hibernate y por lo general crea una sola vez durante la inicializacin de la
aplicacin. Representa un archivo de configuracin o propiedades requerido por la
hibernacin.

Qu es una SessionFactory en hibernacin?


objeto de configuracin se utiliza para crear un objeto SessionFactory que inturn configura
Hibernate para la aplicacin que utiliza el archivo de configuracin suministrado y permite
un objeto Session que se crea una instancia. La SessionFactory es un objeto seguro para
hilos y utilizada por todos los hilos de una aplicacin.

La SessionFactory es objeto pesado por lo que normalmente se crea durante la aplicacin


puesta en marcha y se mantiene para su uso posterior. Usted necesitara un objeto
SessionFactory por base de datos mediante un archivo de configuracin
independiente. As que si usted est utilizando varias bases de datos, entonces tendra que
crear varios objetos sessionFactory.
Qu es la Sesin de hibernacin?
Una sesin se utiliza para obtener una conexin fsica con una base de datos. El objeto
Session es ligero y diseado para ejecutarse cada vez que se necesita una interaccin con
la base de datos. objetos persistentes se guardan y se recuperan a travs de un objeto
Session.

Los objetos de sesin no deben mantenerse abierta durante mucho tiempo, ya que no se
suelen hilo de seguridad y deben ser creados y destruidos ellos segn sea necesario.

Cul es la transaccin en hibernacin?


Una transaccin representa una unidad de trabajo con la base de datos y la mayor parte del
RDBMS soporta la funcionalidad de transaccin. Las transacciones en hibernacin son
manejados por un gestor de transacciones subyacente y de transaccin (de JDBC o JTA).

Este es un objeto opcional y las aplicaciones de Hibernate puede optar por no utilizar esta
interfaz, en lugar de la gestin de las transacciones en su propio cdigo de la aplicacin.

Qu es la consulta en hibernacin?
objetos de consulta SQL utilizan o cadena Hibernate Query Language (HQL) para
recuperar datos de la base de datos y crear objetos. Una instancia de consulta se utiliza
para enlazar los parmetros de consulta, limitar el nmero de resultados devueltos por la
consulta, y, finalmente, para ejecutar la consulta.

Qu es Criteria en hibernacin?
Criterios de objeto se usan para crear y ejecutar consultas de criterios orientados a objetos
para recuperar objetos.

Nombrar algunas de las propiedades que se requieren para configurar por bases de datos en
una situacin independiente.

SN Propiedades y descripcin

hibernate.dialect
1 Esta propiedad hace que Hibernate generar el SQL adecuado para la base de datos
elegida.

hibernate.connection.driver_class
2
La clase de controlador JDBC.

3 hibernate.connection.url
La URL de JDBC a la instancia de base de datos.

hibernate.connection.username
4 El nombre de usuario de base de datos.

hibernate.connection.password
5 La contrasea de la base de datos.

hibernate.connection.pool_size
6 Limita el nmero de conexiones que esperan en la cola de conexiones de Hibernate.

hibernate.connection.autocommit
7 Permite que el modo de confirmacin automtica que se utilizar para la conexin
JDBC.

Cules son los tres estados de una entidad persistente en un punto dado en el tiempo?
Los casos pueden existir en una de las siguientes tres estados en un punto dado en el
tiempo:

transitoria: una nueva instancia de la clase AA persistente que no est asociado


con una sesin y no tiene representacin en la base de datos y no tiene valor
identificador se considera transitoria por Hibernate.

persistente: Usted puede hacer una instancia transitoria persistente asocindola a


una sesin. Una instancia persistente tiene una representacin en la base de datos,
un valor de identificador y se asocia con una sesin.

separado: Una vez que cerramos la sesin de Hibernate, persistente la instancia se


convertir en una instancia separada.

Cul es el propsito del mtodo Session.beginTransaction ()?


Session.beginTransaction mtodo comienza una unidad de trabajo y devuelve el objeto de
transaccin asociados.

Qu mtodo se utiliza para agregar un criterio para una consulta?


Session.createCriteria crea una nueva instancia de criterios, para la clase determinada
entidad, o una superclase de una clase de entidad.

Qu mtodo se utiliza para crear una consulta HQL?


Session.createQuery crea una nueva instancia de consulta para la cadena de consulta HQL
dado.

Qu mtodo se utiliza para crear una consulta SQL?


Session.createSQLQuery crea una nueva instancia de SQLQuery de la cadena de consulta
SQL dada.

Qu mtodo se utiliza para eliminar una instancia persistente desde el almacn de datos?
Session.delete elimina una instancia persistente desde el almacn de datos.

Qu mtodo se utiliza para obtener una instancia persistente desde el almacn de datos?
Session.get devuelve la instancia persistente de la entidad nombrada dada con el
identificador dado, o null si no hay tal instancia persistente.

Qu mtodo se utiliza para volver a leer el estado de la instancia dada de la base de datos
subyacente?
Session.refresh re-lee el estado de la instancia dada de la base de datos subyacente.

Qu mtodo se utiliza para guardar el estado de la instancia dada de la base de datos


subyacente?
Session.save guarda el estado de la instancia dada de la base de datos subyacente.

Qu mtodo se utiliza para actualizar el estado de la instancia dada de la base de datos


subyacente?
Session.update actualiza el estado de la instancia dada de la base de datos subyacente.

Qu mtodo se utiliza para guardar o actualizar el estado de la instancia dada de la base de


datos subyacente?
Session.saveOrUpdate ya sea salva (Objeto) o actualizaciones (Objeto) la instancia dada.

Cules son las clases persistentes en hibernacin?


clases Java cuyos objetos o instancias sern almacenados en tablas de bases se llaman
clases persistentes en Hibernate.

Cules son las mejores prcticas que hibernan recomienda para las clases persistentes.
Pueden darse las siguientes reglas principales de las clases persistentes, sin embargo,
ninguna de estas reglas son requisitos duros.

Todas las clases de Java que se conservar necesitan un constructor por defecto.
Todas las clases deben contener un ID a fin de permitir una fcil identificacin de
los objetos dentro de Hibernate y la base de datos. Esta propiedad se asigna a la
columna de clave principal de una tabla de base de datos.

Todos los atributos que se deben persistieron pueda tener carcter privado y
tienen getXXX y setXXX mtodos definidos en el estilo JavaBean.

Una caracterstica central de Hibernate, proxies, depende de la clase persistente


siendo bien no definitivo, o la implementacin de una interfaz que declare todos
los mtodos pblicos.

Todas las clases que no se extienden o llevan a cabo algunas clases especializadas y
las interfaces necesarias en el marco de EJB.

Donde mapeos objeto / relacional se definen en hibernacin?


Un objeto / asignaciones relacionales suelen definirse en un documento XML. Este
archivo de mapeo Hibernate instruye sobre cmo asignar la clase o clases definidas en las
tablas de base de datos. Debemos guardar el documento de mapeo en un archivo con el
formato <nombre de clase> .hbm.xml.

Cul es el nodo raz de hbm.xml?


El documento de mapeo es un documento XML que tiene <hibernate-mapping> como el
elemento raz que contiene todos los elementos <clase>.

Qu elemento de hbm.xml define un asignaciones especficas de unas clases de Java a las


tablas de la base?
Las <clase> elementos se utilizan para definir la asignacin especfica de una clases de
Java a las tablas de la base. El nombre de clase Java se especifica utilizando el nombre
de atributo del elemento clase y el nombre de tabla de base de datos se especifica
utilizando la tabla de atributos.

Qu elemento de hbm.xml define mapea el atributo de identificacin nico en la clase a la


clave principal de la tabla de base de datos?
El <id> elemento se asigna el atributo de identificacin nico en la clase a la clave
principal de la tabla de base de datos. El nombre de atributo del elemento de
identificacin se refiere a la propiedad de la clase y de la columna de atributo se refiere a
la columna en la tabla de base de datos. El tipo de atributo tiene el tipo de asignacin de
hibernacin, este tipo de mapeo conversin de Java a tipos de datos SQL.
Qu elemento de hbm.xml se utiliza para generar automticamente los valores de clave
principal?
La <generator> dentro del elemento id se utiliza para generar automticamente los
valores de clave principal. Establecer la clase de atributo del elemento generador se
establece en nativa para dejar de hibernacin recoger cualquiera de identidad,
secuencia o hilo algoritmo para crear la clave primaria dependiendo de las capacidades de
la base de datos subyacente.

Qu elemento de hbm.xml se utiliza para asignar una propiedad de clase Java a una
columna en la tabla de base de datos?
La <propiedad> elemento se utiliza para asignar una propiedad de clase Java en una
columna en la tabla de base de datos. El nombre de atributo del elemento se refiere a la
propiedad de la clase y de la columna de atributo se refiere a la columna en la tabla de
base de datos. El tipo de atributo tiene el tipo de asignacin de hibernacin, este tipo de
mapeo conversin de Java a tipos de datos SQL.

Qu elemento de hbm.xml se utiliza para asignar una propiedad java.util.Set en


hibernacin?
Esto se correlaciona con un <set> e inicializado con java.util.HashSet.

Qu elemento de hbm.xml se utiliza para asignar una propiedad java.util.SortedSet en


hibernacin?
Esto se correlaciona con un <set> e inicializado con java.util.TreeSet. El atributo tipo se
puede configurar como un comparador o ordenamiento natural.

Qu elemento de hbm.xml se utiliza para asignar una propiedad java.util.List en


hibernacin?
Esto se correlaciona con un <lista> y inicializado con java.util.ArrayList.

Qu elemento de hbm.xml se utiliza para asignar una propiedad java.util.Collection en


hibernacin?
Esto se hace corresponder con un elemento <bag> o <IBAG> e inicializado con
java.util.ArrayList.

Qu elemento de hbm.xml se utiliza para asignar una propiedad java.util.Map en


hibernacin?
Esto se correlaciona con un <map> e inicializado con java.util.HashMap.

Qu elemento de hbm.xml se utiliza para asignar una propiedad java.util.SortedMap en


hibernacin?
Esto se correlaciona con un <map> e inicializado con java.util.TreeMap. El atributo tipo
se puede configurar como un comparador o ordenamiento natural.
Cul es muchos-a-uno asociacin?
Una asociacin muchos-a-uno es el tipo ms comn de asociacin en que un objeto puede
estar asociada con varios objetos. Por ejemplo, un mismo objeto de direccin puede estar
asociada con varios objetos empleados.

<Muchos-a-uno> se utiliza para definir la asociacin muchos-a-uno. El atributo de nombre


se establece en la variable definida en la clase padre. El atributo de la columna se utiliza
para establecer el nombre de columna de la tabla primaria.

Cul es uno-a-uno asociacin?


Una asociacin de uno a uno es similar a la asociacin muchos-a-uno con una diferencia
de que la columna se establece como nico. Por ejemplo, un objeto de direccin puede
estar asociado con un solo objeto empleado.

<Muchos-a-uno> se utiliza para definir uno-a-uno asociacin. El atributo de nombre se


establece en la variable definida en la clase padre. El atributo de la columna se utiliza para
establecer el nombre de columna en la tabla primaria que se fija para nico de modo que
slo un objeto puede estar asociado con un otro objeto.

Lo que es uno-a-muchos asociacin?


En uno-a-muchos mapeo de asociacin, un objeto puede ser puede estar asociada con
varios objetos. Por ejemplo objeto Employee se relaciona con muchos objetos Certificado.

Un mapeo uno a varios se puede implementar utilizando una coleccin de Java Conjunto
que no contiene ningn elemento duplicado.

<Uno-a-muchos> elemento del elemento del registro indica que un objeto se refiere a
muchos otros objetos.

Cul es la asociacin muchos-a-muchos?


Un mapeo muchos-a-muchos se puede implementar utilizando una coleccin de Java
Conjunto que no contiene ningn elemento duplicado.

<Many-to-many> elemento indica que un objeto se refiere a muchos otros objetos y


atributos de columna se utilizan para enlazar la columna intermedia.

SessionFactory es un objeto seguro para subprocesos?


S, SessionFactory es un hilo de seguridad y se puede acceder por mltiples hilos
simultneamente.
Es un objeto Session thread-safe?
No, la sesin no es seguro para subprocesos.

Cul es la diferencia entre save () y persistir () de objeto de sesin?


session.save guarda el objeto y devuelve el id de la instancia mientras que persisten no
devuelve nada despus de guardar la instancia.

Cul es la diferencia entre get () y la carga () de objeto de sesin?


Hay diferencias entre los siguientes get () y mtodos load ().

get () devuelve un valor nulo si no hay datos est presente en tanto que la carga
lanza ObjectNotFoundException excepcin en este caso.

get () siempre golpea la base de datos mientras que el mtodo load () no golpea la
base de datos.

get () devuelve objeto real mientras que la carga () devuelve objeto proxy.

Una caracterstica central de Hibernate, proxies, depende de la clase persistente


siendo bien no definitivo, o la implementacin de una interfaz que declare todos
los mtodos pblicos.

Todas las clases que no se extienden o llevan a cabo algunas clases especializadas y
las interfaces necesarias en el marco de EJB.

Cul es la carga diferida?


La carga diferida es una tcnica en la que los objetos se cargan en funcin de la
demanda. Desde Hibernate 3, carga lenta es por defecto, habilitado para que los objetos
secundarios no se cargan cuando se carga de los padres.

Cul es HQL?
HQL significa Hibernate Query Language. Se necesita objetos Java en la misma forma
que SQL toma tablas. HQL es un lenguaje de consulta orientado a objetos y es la base de
datos independiente.

Qu es la memoria cach de primer nivel en hibernacin?


El cach de primer nivel es la cach de sesin y es un cach obligatoria a travs del cual
deben pasar todas las solicitudes. El objeto Session mantiene un objeto por sus propios
medios antes de comprometerse a la base de datos.

Qu es la cach de segundo nivel en hibernacin?


cach de segundo nivel es un cach opcional y cach de primer nivel siempre sern
consultados antes de cualquier intento de localizar un objeto en la memoria cach de
segundo nivel. El cach de segundo nivel se puede configurar en funcin de cada clase y
per-recoleccin y almacenamiento en cach de los principales responsables de los objetos
a travs de sesiones.

Qu es la memoria cach de nivel de consulta en hibernacin?


Hibernate tambin implementa un cach de conjuntos de resultados de consulta que se
integra estrechamente con el cach de segundo nivel.

Esta es una caracterstica opcional y requiere de dos regiones de cach fsicas adicionales
que contienen los resultados de la consulta en cach y las marcas de tiempo cuando una
tabla se actualiz por ltima vez. Esto slo es til para consultas que se ejecutan
frecuentemente con los mismos parmetros.

Cules son las estrategias de concurrencia?


Una estrategia de concurrencia, que es un mediador responsable de almacenar elementos
de datos en la cach y recuperarlos de la memoria cach. Si se va a habilitar una cach de
segundo nivel, que tendr que decidir, para cada clase persistente y recogida, que la
estrategia de cach de concurrencia para su uso.

Transaccional: Utilice esta estrategia para la lectura en la mayora de datos donde


es crtico para evitar que los datos obsoletos en las transacciones simultneas, en el
raro caso de una actualizacin.

Lectura-escritura: Una vez ms utilizar esta estrategia para la lectura en la


mayora de datos donde es crtico para evitar que los datos obsoletos en las
transacciones simultneas, en el raro caso de una actualizacin.

No estricta-lectura-escritura: Esta estrategia no ofrece ninguna garanta de


coherencia entre el cach y la base de datos. Utilizar esta estrategia si los datos casi
nunca cambia y una pequea probabilidad de que los datos rancio no es una
preocupacin crtica.

Slo lectura: Una estrategia adecuada para la concurrencia de datos que nunca
cambia. Utilizarlo durante datos de referencia.

También podría gustarte