Olá, gostaria de saber se alguém conseguiria me auxiliar em uma duvida na qual estou enfrentando no momento. Comecei a estudar recentemente Spring Boot com JPA, Java, MySQL e Postman. Estou criando um sistema para atender uma loja de games, meu problema esta em relação as classes Plataforma e Jogo, onde eu gostaria de realizar um relacionamento (N : N) entre essas entidades.
Pesquisando na documentação ( Many-To-Many Relationship in JPA | Baeldung) eu consegui criar a tabela associativa no banco de dados.
E é nesse ponto que surge minha duvida, como eu faço para inserir os id das tabelas (plataforma e jogo) nessa minha tabela associativa (plataforma_jogo)?
Já tenho criado meus controller e repository de ambas as classes criadas para poder manipular os dados via CRUD pelo Postman.
Vou colocar aqui o que fiz ate o momento para tentar ilustrar melhor minha duvida, se puderem me auxiliar eu agradeço muito.
Tabela: Plataforma
[…] imports
@Entity
@Table(name = “plataforma”)
public class Plataforma {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@NotNull
@Size(max = 50)
private String nome;
@NotNull
@Size(max = 1000)
private String descricao;
@ManyToOne
@JsonIgnoreProperties("plataforma")
private Categoria categoria;
@ManyToMany
@JoinTable(name = "plataforma_jogo",
joinColumns = {@JoinColumn(name = "plataforma_id")},
inverseJoinColumns = {@JoinColumn(name = "jogo_id")}
)
private List<Jogo> jogo;
[…] gets and sets
}
Tabela: Jogo
[…] imports
@Entity
@Table(name = “jogo”)
public class Jogo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@NotNull
@Size(max = 50)
private String nome;
@NotNull
@Size(max = 1000)
private String descricao;
@NotNull
private double preco;
@ManyToOne
@JsonIgnoreProperties("jogo")
private Desenvolvedora desenvolvedora;
@ManyToMany(mappedBy = "jogo")
private List<Plataforma> plataforma;
[…] gets and sets
}