ques es dios

Páginas: 21 (5150 palabras) Publicado: 12 de agosto de 2014
Taller de Sistemas de
Información 2
Clase 8
Java Persistence API

Persistencia en Java









JDBC (Java Database Connectivity)
Enterprise JavaBeans
o Entity Beans
JDO (Java Data Objects)
ORMs
o Hibernate
o Toplink
JPA (Java Persistence API)
o Estándar
INCO - Facultad de Ingeniería – Montevideo, Uruguay

2

Object Relational Mapping


Un ORM (ObjectRelational Mapping) define
una forma de transformar un modelo
orientado a objetos en un modelo relacional



Hay muchas formas de llevar a cabo tal
transformación



Impedance Mismatch
INCO - Facultad de Ingeniería – Montevideo, Uruguay

3

Impedance Mismatch


Se refiere a la diferencia de paradigmas
existentes entre el modelo orientado a
objetos y el modelo relacional

Debido a los diferentes objetivos de ambas
tecnologías, por lo general tenemos gran
dificultad en realizar este mapeo

INCO - Facultad de Ingeniería – Montevideo, Uruguay

4

Impedance Mismatch

INCO - Facultad de Ingeniería – Montevideo, Uruguay

5

Impedance Mismatch

INCO - Facultad de Ingeniería – Montevideo, Uruguay

6

Impedance Mismatch

INCO - Facultad deIngeniería – Montevideo, Uruguay

7

Diferencias entre modelos

INCO - Facultad de Ingeniería – Montevideo, Uruguay

8

Requisitos de una Entity JPA
Se anotan con @Entity
 Tienen una propiedad anotada con @Id
 Constructor sin argumentos public/protected
 No puede ser final
 Puede extender de otra
 Puede ser abstracta
 Es un POJO (Plain Old Java Objects), objeto
liviano que noimplementan ninguna interfaz


INCO - Facultad de Ingeniería – Montevideo, Uruguay

9

Estado Persistente


Definido por atributos con visibilidad no
pública (privada, protegida, o de paquete)



Atributos persistentes
o
o
o
o

Tipos primitivos
Wrappers de tipos primitivos
Otras entidades
Colecciones

INCO - Facultad de Ingeniería – Montevideo, Uruguay

10

Entity JPA- Ejemplo
@Entity
public class Employee {
@Id private int id;
private String name;
private long salary;
public Employee() {}
public Employee(int id) { this.id = id; }
public int getId() { return id; }
public void setId(int id) { this.id = id; }
INCO - Facultad de Ingeniería – Montevideo, Uruguay

11

Entity JPA - Ejemplo
public String getName() { return name; }
public voidsetName(String name) {
this.name = name;
}
public long getSalary() { return salary; }

public void setSalary (long salary) {
this.salary = salary; }
}

INCO - Facultad de Ingeniería – Montevideo, Uruguay

12

@Table


Es una anotación opcional



Por defecto, la entidad se mapea en el
esquema actual, a una tabla con el mismo
nombre que la entidad

INCO - Facultad de Ingeniería– Montevideo, Uruguay

13

@UniqueConstraints
Permite definir restricciones de integridad
sobre la tabla que estamos creando
 En general es usada cuando utilizamos la
facilidad de auto-creación de esquema


@Table(name="CATEGORIES",
uniqueConstraints=
{@UniqueConstraint(
columnNames={"CATEGORY_ID"})
}
)
INCO - Facultad de Ingeniería – Montevideo, Uruguay

14

@Column
Mapea una propiedad o campo persistente a
una columna de una tabla de la base de
datos
@Column(name="USER_ID")
protected Long userId;

INCO - Facultad de Ingeniería – Montevideo, Uruguay

15

@Column








String name
boolean unique
boolean nullable
String table
length (255)
@Column(name=“DESC”,
nullable=false,
length=512, ...
)
private String description;INCO - Facultad de Ingeniería – Montevideo, Uruguay

16

@Enumerated


Permite mapear enumerados en columnas
de la base de datos
o



public enum UserType {SELLER, ADMIN};

Al persistir, tenemos dos opciones
o
o

Salvar el ordinal
Salvar el string

INCO - Facultad de Ingeniería – Montevideo, Uruguay

17

@Enumerated


Salvamos 0, 1
o
o



Salvamos los...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • El Queso
  • Queso
  • quesos
  • Quesos
  • el queso
  • ESO ES QUESO
  • Quesos
  • Queso

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS