Antes de empezar

1

Pasos para aprender Java Spring

2

Instalación de ambiente de desarrollo: Windows

3

¿Java sigue siendo gratuito?

4

Instalación de ambiente de desarrollo: Linux Ubuntu

5

Instalación de ambiente de desarrollo: macOS

Introducción a Spring boot

6

¿Qué es y qué usaremos de Spring?

7

Conocer qué es una aplicación autocontenida

8

Crear nuestra aplicación con Spring Initializr

9

Hola mundo con Spring Boot

10

Configurar Spring Boot

11

Crear la estructura del proyecto

Spring Data

12

¿Qué es JPA?

13

Conocer qué es Spring Data

14

Conectar la base de datos a nuestra aplicación

15

Mapear las tablas como clases

16

Crear Entity cuando su clave primaria es compuesta

17

Mapear relaciones entre clases

18

Usar la interface CrudRepository

19

Query Methods

Construyendo nuestra API

20

Implementar la anotación @Repository

21

¿Qué es el patrón Data Mapper y qué resuelve?

22

Orientar nuestra API al dominio con MapStruct

23

Orientar nuestro repositorio a términos del dominio

24

Inyección de dependencias

25

Implementar la anotación @Service

26

Implementar la anotación @RestController

27

Exponer nuestra API

Mejorando nuestra API

28

Controlar las respuestas HTTP

29

Crear el dominio de compras

30

Mapear el dominio de compras

31

Crear el repositorio de compras

32

Probando nuestros servicios de compras

33

Documentar nuestra API con Swagger

Spring Security

34

Configurar la seguridad de nuestra API con Spring Security

35

Generar un JWT

36

Autenticación con JWT

37

Autorización con JWT

Despliegue de nuestra aplicación

38

Desplegar nuestra API desde la ventana de comandos

39

Desplegar nuestra base de datos con Heroku

40

Desplegar nuestra API con Heroku

41

Conclusiones y despedida del curso

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Aprende todo un fin de semana sin pagar una suscripción 🔥

Aprende todo un fin de semana sin pagar una suscripción 🔥

Regístrate

Comienza en:

0D
8H
53M
1S
Curso de Java Spring

Curso de Java Spring

Alejandro Ramírez

Alejandro Ramírez

¿Qué es JPA?

12/41
Recursos

Aportes 24

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Mís apuntes:

¿Qué es JPA?

Jpa es una especificación de Java, standar, para un framework ORM. Quiere decir que son uan serie de reglas que Java define para que cualquier framework que quierea interactura con la BD de Java, tenga que seguir.

Los frameworks mas populares de Java para este fin son:

  • Hibernate
  • TopLink
  • EclipseLink
  • ObjectDB
<h3>Anotaciones JPA</h3>

JPA utiliza anotaciones para conectar clases a tablas de la BD y asi evitar hacerlo de manera nativa con SQL.

  • @Entity. Indica a una clase de java que esta representando una tabla de nuestra BD.
  • @Table. Recibe el nombre de la tabla a la cual esta mapeando la clase.
  • @column. Se le pone a los atributos de la clase, no es obligatoria, se indica sólo cuando el nombre de la columna es diferente al nombre del atributo de la tabla.
  • @id amd @EmbededID. Es el atributo como clave primaria de la tabla dentro de la clase. @id se utiliza cuando es clave primaria sencilla y @EmbededID cuando es una clave primaria compuesta.
  • @GeneratedValue. Permite generar automáticamente generar valores para las clases primarias en nuestras clases
  • @OneToMany and @MatyToOne. Representar relaciones

JPA es una especificación de JAVA hacia los frameworks ORM. Se basa en anotaciones, estre las que se encuentran:
@Entity para indicar que una clase java representa una tabla en la base de datos
@Table recible el nombre de la tabla
@Column se le pone a los atributos de la clase y se usa cuando los nombres entre la tabla y la entidad no coinciden
@Id y @EmbededId representan la clave primaria, id para sencilla y embeded para compuesta
@GeneratedValue genera valores automaticos para las llaves de las tablas
@OneToMany @ManyToOne permite representar relaciones

JPA Java Persistence API. Por si tenian la duda 😄

y como sería para utilizar un procedimiento almacenado ?

JPA ?
La API de persistencia JPA es el estándar de Java para mapear (asignar) objetos Java a una base de datos relacional. El mapeo o asignación de objetos Java a tablas de bases de datos y viceversa se denomina mapeo relacional de objetos en inglés también conocido por sus siglas como ORM.

Las anotaciones quedaron super claras!

Conclusiones =>
JPA es el API estándar que ofrece Java para la persistencia de objetos (ORM)
JPA es una especificacion por lo que existen múltiples implementaciones , entre ellas Hibernate
JPA utliza el API de JDBC por debajo
JPA fue inspirada en Hibernate

![](

@Entity
Le indica a una clase de java que esta representando una tabla de nuestra base de datos

@Table
Recibe el nombre de la tabla a la cual esta mapeando la clase

@column
Se le pone a los atributos de la clase

@id amd @EmbededID
Es la clase primaria de la tabla dentro de la clase

@GeneratedValue
Nos permite generar automáticamente generar valores para las clases primarias en nuestras clases

@OneToMany and @MatyToOne
para representar relaciones

La explicación de @OneToMany y @ManyToOne, yo lo describiría un poco más; Sirve para representar relaciones o el tipo de relación que tienen los campos entre las diferentes tablas dentro de una BD.

Es decir que spring no es un framework, sino un conjunto de ellos? perdón la pregunta tonta

JPA son reglas para interactuar con la base de datos, las implemetaciones mas conocidas son hibernate, objectDB, TopLink y EclipseLink.
se usan anotaciones para conectar entidades a tablas de la base de datos usando codigo java evitando usar SQL.
@Entity representa una tabla en una clase java.
@Table recibe el nombre de una tabla la cual esta mapeando nuestra clase.
@Column representa un atributo de la tabla dentro de nuestra clase. se usa cuando el nombre de la columna de la tabla SQL es diferente al atributo de nuestra clase.
@Id representa la clave primaria dentro de nuestra clase en Java.
@EmbededId se usa cuando es una clave primaria compuesta.
@GeneratedValue representa el autoincrment dentro de nuestra clase.
@OneToMany representa relacion uno a muchos dentro de nuestra clase.
@ManyToOne representa relacion muchos uno dentro de nuestra clase.

JPA: Especificación para un ORM la cual va a permitir la interacción con la base de datos.
.
Ejemplos de implementaciones:

  • Hibernate
  • TopLink
  • EclipseLink
  • ObjectDB
    .
    Anotaciones más populares.
  • Entity: Clase = tabla
  • Table: mapear el nombre de la tabla
  • Column: Mapear el nombre de la columna
  • Id: clave primaria sencilla
  • EmbededId: clave primaria compuesta.
  • GeneratedValue: Generar las llaves primarias
  • OneToMany. ManyToOne
/*JPA
Es una especificación de Java para un framework ORM [Object Relational Mapping]:
- Es una serie de reglas que Java define para que cualquier framework que quiera interactuar con la base de datos desde Java tenga que seguir.
- Para realizarlo, JPA realiza anotaciones para conectar clases con tablas de nuestra base de datos:
	- @Entity: Le dice a una clase que está representan una tabla de nuestra base de datos
	- @Table: Recibe el nombre de la tabla a la cual está mapeando nuestra clase
	- @Column: Se pone a los atributos dentro de la clase. No es obligatoria, solo se pone cuando el nombre de la columna sea diferente al nombre del atributo de nuestra tabla en base de datos
	- @Id&EmbededId: Representan la clave primaria de nuestra tabla en la clase. @Id se utiliza cuando es una clave primaria sencilla y @EmbededId se utiliza cuando es una llave primaria compuesta
	- @GeneratedValue: Genera automáticamente valores para las claves primarias en nuestra clase
	- @OneToMany & @ManyToOne: Representa relaciones en la clases.
*/

Se puede generar entidades de tablas existentes?

Las clases en java son como las entidad en Base de datos( Modelo Entidad Relacion), los atributos de java son como las columnas( de igual forma se le llaman atributos ) en Base de datos y los objetos en java son como las tuplas(o registro) en Base de datos…

Relaciones uno a muchos y muchos a uno

Genial, una gran explicación

<h3>¿Qué es JPA?</h3>

Especificación de JAVA para un framework ORM, es una serie de reglas para que cualquier framework que quiera interactuar con la base de datos tenga que seguir.

Los mas populares son

  • Hibernate
  • TopLink
  • EclipseLink
  • ObjectDB

JPA utiliza anotaciones para conectar clases a tablas de la base de datos

Anotaciones mas populares:

  • @Entity → La mas importante, la que indica a una clase de Java que esta representando a una tabla.
  • @Table → Recibe el nombre de la tabla.
  • @Column → Anotación que se pone a los atributos de la clase, solo poner cuando el nombre de la columna sea diferente al nombre del atributo de la tabla.
  • @Id & @EmbededId → Representan a la clave primaria, id clave sencilla, embededId para clave compleja.
  • @GeneratedValue → Anotación que permite generar valores para las claves primarias de las tablas en la clase.
  • @OneToMany & @ManyToOne → Representar relaciones en las clases.

Perfecto, vamos bien.

me parece que srping es como en ASP net de java … será o me estoy saliendo del tema…