Antes de empezar

1

Pasos para aprender Java Spring

2

驴Java sigue siendo gratuito?

3

Instalaci贸n de ambiente de desarrollo: Linux Ubuntu

4

Instalaci贸n de ambiente de desarrollo: macOS

5

Instalaci贸n de ambiente de desarrollo: Windows

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

A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Curso de Java Spring

Curso de Java Spring

Alejandro Ram铆rez

Alejandro Ram铆rez

Mapear relaciones entre clases

17/41
Recursos

Aportes 29

Preguntas 14

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

En el diagrama de la base de datos la relaci贸n que se ve entre las tablas COMPRAS y COMPRAS_PRODUCTOS es de UNO a UNO; sin embargo, en el momento de hacer la relaci贸n en c贸digo se realiza como UNO a MUCHOS, mostrando posiblemente un error en la relaci贸n en el diagrama.

Lo comento por si a alguien le qued贸 la duda. 馃榿

A lo entend铆
Cuando una tabla tiene un foreign key se usa JoinColumn y en la tabla de donde se origina ese foreign key se usa dentro de la relacion el mappedBy con el nombre del atributo de la clase donde se uso el JoinColumn.

Definitivamente un profesor excelente.

Esta parte del codigo de la clase Compra esta mal ya que en mappedBy deberia haber 鈥渃ompra鈥

@OneToMany(mappedBy = 鈥減roducto鈥)
private List<ComprasProducto> productos;

me tome la molestia de ir al ultimo video y ver si ya lo habia corregido en los archivos adjuntos y efectivamente luego lo corregira, lo expongo mas que nada para que nadie se sienta frustrado de no entender algo que en realidad esta mal.

asi esta bien:

@OneToMany(mappedBy = 鈥渃ompra鈥)
private List<ComprasProducto> productos;

En la 煤ltima relaci贸n @OneToMany deber铆a ir 鈥compra鈥 en el mappedBy, y no 鈥producto鈥, ya que se est谩 asociando Compra con ComprasProducto, indicando que una compra puede tener muchos productos.

min. 5:10 quiso decir 鈥淯n cliente pertenece a muchas compras鈥

Excelente clases , me gusta spring boot y estas clases se dejan entender muy bien.

Es una cosa hermosa, creo que esto simplifica mucho lo que yo conoc铆a hace 10 a帽os =P

驴Por qu茅 agrega c贸mo atributo el idCliente y luego el cliente, no ser铆a innecesario el idCliente ?

Manera sencilla de implementar Setter y Getter

El c贸digo es mas limpio y f谩cil de leer
Toda la clase es como se ve en la imagen (As铆 de sencillo)

  • O Lo implementan de esta manera

  • Y luego incluyen las anotaciones @Setter y Getter para generar los metodos

Y como seria cuando la relacion es 1 a 1?? tengo que poner anotaciones en ambas clases??

No olviden poner los metodos GET y SET de las nuevas variables creadas.

Sugiero agregar getter and setter para las clases modificadas.
en el futuro les mostrar谩 un error.

saludos.-

Hola el problema me aparece en las anotations de la persistencia cuando mapeo la base.
Mensaje de error:
Cannot resolve table 'categorias鈥
Inspection info: This inspection controls whether the Persistence ORM annotations are checked against configured Datasources

Si tenemos una tabla productos con 100000 registros y 20000 productos tienen la categoria 1, el atributo lista de producto de la clase Categoria se llenar谩 con 20000 registros? No me qued贸 claro la finalidad de tener ese atributo

Cual es la diferencia de poner en la anotaci贸n JoinColumn insetable y updatable a false y usar la propiedad cascade none en la anotaci贸n ManyToOne?

Esta claro, pero hay que practicarlo porque son varios pasos interconectados

Creaci贸n de relaci贸n oneToMany

Crear relaci贸n manyToOne

驴Por qu茅 hay un salto del video anterior a este y ya tienes creada la clase categoria ?

Puede ser que haya faltado actualizar los get y los set de las relaciones? En la pr贸xima clase apenas empieza en pantalla se ve que lo ha hecho pero no se aclara.

Tengo una pregunta: As铆 como generamos Getters and Setters para las variables privadas de las columnas, debemos generarlos tambi茅n para las variables privadas de tipo 鈥楥ategoria鈥, 鈥楶roducto鈥?, y de no ser necesario, por qu茅?.

No entiendo el porqu茅 tienes arriba nombrados algunas propiedades que hacen referencia a una columna en la db y en la relacion, los atributos que declaras en la relacion tamb铆en hacen referencia a la misma columna

No hay una forma de mapear importando la BDD?

mapedBY--> xk

Donde est谩 el video con la correcci贸n de la relacion?

Como se podr铆a hacer para probar la capa de persistencia con todas las tablas y relaciones mapeadas antes de continuar con la creaci贸n de los repositorios?

Y como se hace cuando la relacion es 1 a 1?? La anotacion va en ambas clases??