La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Hibernate Annotations Mapping Entitys with Java Persistent Annotations 2011Aplicaciones Distribuidas.

Presentaciones similares


Presentación del tema: "Hibernate Annotations Mapping Entitys with Java Persistent Annotations 2011Aplicaciones Distribuidas."— Transcripción de la presentación:

1 Hibernate Annotations Mapping Entitys with Java Persistent Annotations 2011Aplicaciones Distribuidas

2 Annotations Anotaciones a nivel de clase (lista Establece la clase Configura características de la tabla donde se persiste la Determina la súper clase de una clase Determina la clase contenida en una clase = estrategiaTipo) Define el tipo de estrategia para persistir una jerarquía de herencia entre Define la columna (nombre y tipo de dato) utilizada como Determina el valor para la columna utilizada como Define el nombre de la clave relacionante.

3 Annotations Anotaciones a nivel de propiedades (lista Define la clave Establece el modo de asignación de los valores de la clave Determina características de la columna de la Indica propiedad no Indica que la propiedad es un objeto Indica que la clave primaria es por Define la clave primaria como relacionante.

4 Annotations Anotaciones a nivel de propiedades (lista Asocia dos entidades en tablas distintas estableciendo vinculación única entre ambas por medio de la clave Asocia una entidad con una colección de otra entidad en tablas distintas estableciendo vinculación referencial entre La asociación se establece en la entidad que es colección en la entidad que la compone. Se genera vinculación Son entre colecciones de entidades. Generan una tercera tabla asociativa estableciendo una doble vinculación referencial.

5 public class strategy = GenerationType.AUTO) private Integer (name=nombre", nullable=false, length=50) private String nombre; private String private int estado; } 2011Aplicaciones Distribuidas

6 public class Persona { protected String nombre; protected String dni; public class Empleado extends Persona private String legajo; } 2011Aplicaciones Distribuidas

7 Persiste a un objeto heredando las propiedades definidas en la superclase, en una única tabla.

8 Clases public class strategy = GenerationType.AUTO) private Integer id; private String private Domicilio domicilio; public class Domicilio { private String direccion; private String localidad; private int cp; } 2011Aplicaciones Distribuidas

9 Persiste al objeto contenedor de otros objetos embebidos.

10 Primary ) public class Telefono private TelefonoId idtelefono; public class TelefonoId implements Serializable { private String area; private String numero; }

11 La primary key compuesta de la tabla se define en otra clase, con las propiedades que la forman.

12 Herencia Estrategia de tabla = InheritanceType.TABLE_PER_CLASS) public class Cuenta private int numero; protected double public class CajaAhorro extends Cuenta public class CuentaCorriente extends Cuenta { } 2011Aplicaciones Distribuidas

13 MR Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) Determina una tabla por cada subclase, heredando las propiedades de la superclase.

14 Herencia Estrategia de = name="tipo", discriminatorType=DiscriminatorType.STRING) public class Cuenta private int numero; protected double public class CajaAhorro extends Cuenta public class CuentaCorriente extends Cuenta { } 2011Aplicaciones Distribuidas

15 = InheritanceType.SINGLE_TABLE) Se persiste en una única tabla todas las subclases, definiendo una columna para indicar el subtipo correspondiente.

16 Herencia Estrategia por reunión = name=cuentas") public class Cuenta private int numero; protected double public class CajaAhorro extends Cuenta name=cuentascorrientes") public class CuentaCorriente extends Cuenta { } 2011Aplicaciones Distribuidas

17 = InheritanceType.JOINED) Se persiste en tablas distintas. Las propiedades descriptivas en la tabla enlazada a la superclase. Las subclases, una tabla por cada subtipo, define una asociación de uno a uno con la tabla donde se persiste la superclase.

18 Asociaciones uno a public class Usuario private Integer id; private String = private Domicilio public class Domicilio private Integer id; private String direccion; } 2011Aplicaciones Distribuidas

19 Asociaciones uno a public class Usuario private Integer id; private String = private Domicilio public class Domicilio private Integer id; private String = "domicilio") private Usuario propietario } 2011Aplicaciones Distribuidas

20 Se persiste en tablas distintas. Una de las clases es la que determina la tabla relacionada. La otra clase determina la tabla relacionante. La restricción se realiza por la primary key.

21 Asociaciones uno a public class Usuario private int id; private String nombre; private String private Set telefonos = new HashSet ) public class Telefono private Integer idtelefono; private int area; private int numero; } 2011Aplicaciones Distribuidas

22 Asociaciones uno a public class Usuario private int id; private String private List telefonos = new ArrayList ) public class Telefono private Integer idtelefono; private private Usuario titular; } 2011Aplicaciones Distribuidas

23 Se persiste en tablas distintas. Una de las clases es la que determina la tabla relacionada, definida La otra clase determina la tabla relacionante, explícitamente indicada La restricción relacional se realiza definiendo una foreign key.

24 Asociaciones muchos a public class Usuario private Integer idusuario; private String nombre; private String (cascade=CascadeType.ALL) private Set cuentas = new HashSet ) public class private Integer numero; private double saldo; } 2011Aplicaciones Distribuidas

25 Asociaciones muchos a public class Usuario private int idusuario; private String nombre; private String (cascade=CascadeType.ALL) private Set cuentas = new HashSet ) public class private Integer numero; private double private Set usuarios = new HashSet (); } 2011Aplicaciones Distribuidas

26 Se persisten las clases en tablas distintas que son relacionadas por una tercera tabla relacionante.

27 Configuración La forma más sencilla es por medio de un archivo de propiedades: –Hibernate.properties hibernate.dialect org.hibernate.dialect.SQLServerDialect hibernate.connection.driver_class net.sourceforge.jtds.jdbc.Driver hibernate.connection.url jdbc:jtds:sqlserver:// /dbprueba hibernate.connection.username prueba hibernate.connection.password prueba hibernate.connection.pool_size 2 hibernate.connection.autocommit true hibernate.hbm2ddl.auto create-drop

28 Objetos de Hibernate Configuration: –es el objeto que contiene la información necesaria para conectarse a la base de datos. Es el encargado de leerse el archivo Hibernate.properties. SessionFactory: – es una fábrica de Sessions. Un objeto Configuration es capaz de crear una SessionFactory ya que tiene toda la información necesaria. Session: –es la principal interfaz entre la aplicación Java e Hibernate.. Permite añadir, modificar y borrar objetos en la base de datos. Transaction: –se encarga de la transaccionalidad. Permite definir unidades de trabajo.

29 Configuración (pasos) 1.Instanciar una clase AnnotationConfiguration AnnotationConfiguration config = new AnnotationConfiguration(); 2.Agregar las clases persistentes config.addAnnotatedClass(Usuario.class); 3.Obtener un objeto SessionFactory. SessionFactory sessionFactory = config.buildSessionFactory(); 4.Obtener el objeto Session Session session = sessionFactory.openSession(); 5.Generar un objeto Transaction Transaction tran = session.beginTransaction(); 6.Implementar la transacción y cerrar la sesión tran.commit(); session.close();


Descargar ppt "Hibernate Annotations Mapping Entitys with Java Persistent Annotations 2011Aplicaciones Distribuidas."

Presentaciones similares


Anuncios Google