Algum Orientador poderia corrigir ve se está certo essa primeira parte
package com.alura.TesteUmAlura.infraectruture.entity;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
// Estou usando biblioteca lombok para facilitar as criações de getters setters e construtotes
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
// Estou mostrando ao JPa/Hibernate que essa classe representa uma tabela no banco de dados
@Entity
// definindo o nome da tabela
@Table(name = "sala")
public class SalaEntity {
//Criando um Id da tabela que gera automatico
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
// criando uma coluna para ter a capacidade de alunos defini como intereger
// porque estou imaginando que pode aumentar a capacidade ou diminuir
// dependendo da demanda
@Column(name = "capacidade")
private Integer capacidade;
}
package com.alura.TesteUmAlura.infraectruture.entity;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
// Estou usando biblioteca lombok para facilitar as criações de getters setters e construtotes
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
// Estou mostrando ao JPa/Hibernate que essa classe representa uma tabela no banco de dados
@Entity
@Table(name = "usuarios")
public class UsuarioEntity {
//Criando um Id da tabela que gera automatico
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
// Criando uma coluna com nome do usuario
@Column(name = "nome", length = 150)
private String nome;
// Criando uma coluna com email do usuario
@Column(name = "email", length = 200)
private String email;
}
package com.alura.TesteUmAlura.infraectruture.entity;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.LocalDate;
// Estou usando biblioteca lombok para facilitar as criações de getters setters e construtotes
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
// Estou mostrando ao JPa/Hibernate que essa classe representa uma tabela no banco de dados
@Entity
// definindo o nome da tabela
@Table(name = "Reserva")
public class ReservaEntity {
//Criando um Id da tabela que gera automatico
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
// Criando uma coluna com inicio da reserva
@Column(name = "dataInicio")
private LocalDate dataInicio;
// Criando uma tabela com fim da reserva
@Column(name = "dataFim")
private LocalDate dataFim;
// Criando uma uma coluna e relacionando com id do usuario caso ele reserve
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "usuarioId", referencedColumnName = "id")
private UsuarioEntity usuario;
// Criando uma coluna com e relacionando com id da sala que está ou sera reservada
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "sala_id", referencedColumnName = "id")
private SalaEntity sala;
}
se tiver algum jeito melhor de eu mandar meu código aceito sugestões