sql >> Database teknologi >  >> RDS >> Mysql

JPA mange til mange relation indsættes ikke i genereret tabel

Prøv dette:

public class Professor {
  @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
  @JoinTable(name = "ALUNO_PROFESSOR",
        joinColumns = @JoinColumn(name = "idProfessor", referencedColumnName = "idProfessor"),
        inverseJoinColumns = @JoinColumn(name = "idAluno", referencedColumnName = "idAluno"))
  private List<Aluno> alunoList;
}

public class Aluno {
  @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
  @JoinTable(name = "ALUNO_PROFESSOR",
        joinColumns = @JoinColumn(name = "idAluno", referencedColumnName = "idAluno"),
        inverseJoinColumns = @JoinColumn(name = "idProfessor", referencedColumnName = "idProfessor"))
  private List<Professor> professorList;
}

Dette vil sikre, at metadataene for mange-til-mange-relationen er tilgængelige på både entiteterne, og at operationer på begge sider af relationen kaskades til den anden side.

Jeg foreslår også at erstatte FetchType.EAGER med FetchType.LAZY for bedre ydeevne, fordi dette har potentialet til at indlæse et meget stort datasæt.



  1. Hvad er erstatningen for uniqueidentifier i Mysql

  2. SQL Server-fejl ved opdateringskommando - Der opstod en alvorlig fejl på den aktuelle kommando

  3. Eksekverer sæt SQL-forespørgsler ved hjælp af batch-fil?

  4. sudo yum installer php55w-mysqlnd konflikt