Actividad 1 - SAGC

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

UNIVERSIDAD AUTONOMA DE SINALOA

FACULTAD DE INFORMATICA

SERGIO ANTONIO GOMEZ CAZARES


1. Framework Object Relational Mapping (ORM)

Un marco de mapeo relacional de objetos (ORM) es una herramienta que le


permite mapear, administrar y manipular datos en una base de datos relacional
utilizando objetos en un lenguaje de programación orientado a objetos. Los ORM
facilitan la interacción de la base de datos, eliminan la necesidad de que los
desarrolladores escriban SQL explícito y proporcionan un modelo de datos más
cercano al dominio de la aplicación.

2. Java Persistence API (JPA)

Java Persistence API (JPA) es una especificación de Java que estandariza el mapeo
entre objetos Java y bases de datos relacionales. Proporciona una anotación y un
conjunto de API para gestionar la persistencia, las consultas y las transacciones
de datos independientemente de la base de datos subyacente.

3. Diferencia entre JPA y JDBC

• JPA:
-Abstracción de la base de datos.
-Utiliza anotaciones para el mapeo objeto-relacional.
-Gestión automática de la persistencia.
-Facilita el desarrollo a través de una API de alto nivel.
• JDBC:
-Acceso directo a la base de datos.
-Requiere escribir SQL explícito.
-Más control sobre las operaciones de la base de datos.
-Mayor complejidad en la gestión de la conexión y manejo de errores.
4. Diferentes cardinalidades soportadas por JPA
One-to-One: Una entidad está asociada con una y solo una instancia de
otra entidad.
One-to-Many: Una entidad está asociada con múltiples instancias de otra
entidad.
Many-to-One: Múltiples instancias de una entidad están asociadas con
una sola instancia de otra entidad.
Many-to-Many: Múltiples instancias de una entidad están asociadas con
múltiples instancias de otra entidad.
5. Relaciones Muchos a Uno: anotación @ManyToOne

La anotación @ManyToOne se utiliza para definir una relación de muchos a uno


entre dos entidades.

Ejemplo:

@Entity

public class Order {

@ManyToOne

@JoinColumn(name = "customer_id")

private Customer customer;

// otros campos y métodos

6. Relaciones Uno a Uno: anotación @OneToOne

La anotación @OneToOne se utiliza para definir una relación de uno a uno entre
dos entidades.

Ejemplo:

@Entity

public class Employee {

@OneToOne

@JoinColumn(name = "address_id")

private Address address;


// otros campos y métodos
}
7. Relaciones Uno a Muchos: anotación @OneToMany

La anotación @OneToMany se utiliza para definir una relación de uno a muchos


entre dos entidades.
Ejemplo:

@Entity

public class Customer {

@OneToMany(mappedBy = "customer")

private List<Order> orders;

// otros campos y métodos

8. Relaciones Muchos a Muchos: anotación @ManyToMany

La anotación @ManyToMany se utiliza para definir una relación de muchos a


muchos entre dos entidades.

@Entity
public class Student {
@ManyToMany
@JoinTable(
name = "student_course",
joinColumns = @JoinColumn(name = "student_id"),
inverseJoinColumns = @JoinColumn(name = "course_id"))
private Set<Course> courses;
// otros campos y métodos
}

9. Anotación @JoinColumn

La anotación @JoinColumn se utiliza para especificar la columna de unión en una


relación de entidad.

Ejemplo:

@ManyToOne

@JoinColumn(name = "customer_id")
private Customer customer;

10. Mapeo de tablas con @Table

La anotación @Table se utiliza para especificar la tabla de base de datos que


mapea a una entidad.

Ejemplo:

@Entity

@Table(name = "customers")

public class Customer {

// campos y métodos

11. Propiedades de la anotación @JoinTable

La anotación @JoinTable se utiliza para definir la tabla de unión en una relación


muchos a muchos. Propiedades:

name: Nombre de la tabla de unión.


joinColumns: Llaves foráneas de la entidad
propietaria.
inverseJoinColumns: Llaves foráneas de la entidad
inversa.
@ManyToMany
@JoinTable(
name = "student_course",
joinColumns = @JoinColumn(name = "student_id"),
12. inverseJoinColumns
Declarar entidades= con @Entity
@JoinColumn(name =
"course_id"))
La anotación @Entity se utiliza para definir una clase como una entidad JPA.
Ejemplo:
private Set<Course> courses;
@Entity

public class Customer {

// campos y métodos

13. Definir llave primaria con @Id

La anotación @Id se utiliza para definir la llave primaria de una entidad.

Ejemplo:

@Entity

public class Customer {

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

private Long id;

// otros campos y métodos

}
14. Llaves compuestas con @IdClass

La anotación @IdClass se utiliza para definir una llave primaria compuesta


utilizando una clase de llave primaria.

Ejemplo:

@IdClass(OrderId.class)

@Entity

public class Order {

@Id

private Long orderId;

@Id

private Long productId;

// otros campos y métodos

public class OrderId implements Serializable {

private Long orderId;

private Long productId;

// métodos equals y hashCode

15. Definición de columnas con @Column

La anotación @Column se utiliza para definir propiedades de columnas en una


entidad.

Ejemplo:

@Entity

public class Customer {

@Column(name = "customer_name", nullable = false, length = 100)


private String name;

// otros campos y métodos

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy