14 JPA e Hibernate Flashcards
¿Qué es JPA en Java?
Java Persistence API, una especificación para manejar datos en bases de datos relacionales.
¿Qué es Hibernate?
Un framework de implementación de JPA que facilita la persistencia de datos.
¿Qué anotación se usa para definir una entidad en JPA?
@Entity
.
¿Qué anotación se usa para definir una clave primaria?
@Id
.
¿Qué anotación permite generar automáticamente un valor para la clave primaria?
@GeneratedValue
.
¿Qué es un EntityManager
en JPA?
Una interfaz para realizar operaciones de persistencia.
¿Qué método se usa para persistir un objeto en la base de datos?
entityManager.persist(objeto)
.
¿Cómo se actualiza un objeto en JPA?
Usando entityManager.merge(objeto)
.
¿Cómo se elimina un objeto en JPA?
Con entityManager.remove(objeto)
.
¿Qué es una consulta JPQL?
Java Persistence Query Language, un lenguaje de consulta para JPA.
¿Cómo se define una consulta JPQL?
Usando @Query("SELECT u FROM Usuario u WHERE u.nombre = :nombre")
.
¿Qué diferencia hay entre find()
y getReference()
?
find()
obtiene el objeto de la base de datos, getReference()
devuelve un proxy.
¿Qué es una relación @OneToOne
en JPA?
Una relación uno a uno entre entidades.
¿Qué es una relación @OneToMany
?
Una relación donde una entidad se asocia con múltiples registros de otra entidad.
¿Qué es una relación @ManyToOne
?
Una relación donde varios registros están asociados a un único registro de otra entidad.
¿Qué es una relación @ManyToMany
?
Una relación donde varias entidades están relacionadas con múltiples registros de otra entidad.
¿Qué hace la anotación @JoinColumn
?
Define la clave foránea en relaciones entre entidades.
¿Qué es Lazy Loading
en JPA?
Una estrategia donde los datos relacionados se cargan solo cuando se acceden.
¿Qué es Eager Loading
en JPA?
Una estrategia donde los datos relacionados se cargan inmediatamente.
¿Qué es un NamedQuery
en JPA?
Una consulta predefinida con @NamedQuery
para reutilización.