No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Modelado de entidades con JPA

17/31
Recursos

Aportes 20

Preguntas 12

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

No es necesario colocar la anotaci贸n @Column si el nombre del atributo tiene el mismo nombre del campo en la base de datos. Si son diferentes, si se debe utilizar dicha anotaci贸n

Hubiese sido bueno explicar el tema de las anotaciones OneToMany, ManyToOne, CascadeType.ALL, FetchType.EAGER y que otras opciones existen y cuando utilizarlos no simplemente escribirlo.

La anotaci贸n @Id se utiliza para indicar que el atributo es la primary key en la base de datos

Para Gradle:

implementation 'org.springframework.boot:spring-boot-starter-data-jpa'

Hola, est谩 clase fue m谩s un copiar y pegar, similar a un dictado de c贸digo, recomiendo dejar el c贸digo en la clase o github para copiar y pegar y explicar el ejercicio el para qu茅 y como funcionan las cosas ejemplo las anotaciones y dem谩s.

Por si deseas evitar tanto c贸digo puedes usar @Data de Lombok

https://projectlombok.org/features/Data

Este es el curso m谩s completo que he visto en todo platzi. Me parece que el profe tiene un conocimiento muy grande y se sabe expresar.

Hola a todos, ya que el curso se trata de los fundamentos de springboot, considero oportuno haber explicado m谩s a detalle las anotaciones.

Pongo un diagrama donde se muestra de una manera gr谩fica las anotaciones vistas en clase.

  • JPA es una especificaci贸n API de Java que describe la gesti贸n de datos relacionales en aplicaciones que utilizan la plataforma Java

  • Hibernate es una biblioteca ORM (Object Relational Mapping) que sigue la especificaci贸n JPA.

Yo vengo de usar Laravel, pero tiene mucha similitud Eloquent con JPA

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

Usando la annotation @Id ya no son necesario los atributos en @Columns nullable = false, unique = false
porque @Id indica primary key. Las primary keys no pueden ser nulas y deben tener valores 煤nicos.

Si varias de las directivas del tipo 鈥淍鈥 les da error, por lo que veo, es un error de IntelliJ IDEA.
Simplemente borren la linea, y volver a tipearla en forma lenta asi le dan tiempo al editor que reconozca lo que se esta tipeando.

Pueden utilizar lombok para simplificar las clases entity, yo use la anotacion @Data
es equivalente a @ToString + @EqualsAndHashCode + @Getter + @Setter + @RequiredArgsConstructor

Ejemplo:

@Entity
@Table(name = "user")
@Data
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id_user",nullable = false,unique = true)
    private Long id;

    @Column(length = 50)
    private String name;

    @Column(length = 50)
    private String email;

    private LocalDate birtDate;

    @OneToMany(mappedBy = "user",cascade = CascadeType.ALL,fetch = FetchType.EAGER)
    @JsonManagedReference
    private List<Post> posts = new ArrayList<>();
    
}```

Si el atributo de la entidad tiene el mismo nombre que el de su columna, ejemplo de esto es description, no es encesario colocar la anotacion @Column

Buena explicaci贸n pero una imagen del diagrama ER hubiera sido de m谩s ayuda, para entender que se esta mapeando.

En caso de que quieran evitar un poco de codigo repetitivo lombok nos ayuda con anotaciones:

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
<scope>provided</scope>
</dependency>

las mas utiles @Getter @Setter @ToString

dejo el link con una breve explicacion de sus demas anotaciones:
https://programmerclick.com/article/3150970067/

Est谩 muy entrete Spring Boot. Mi mente me lleva directo a Nestjs con TS.