sql >> Databasteknik >  >> RDS >> Mysql

JPA många till många relation infogas inte i genererad tabell

Prova detta:

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;
}

Detta säkerställer att metadata för många-till-många-relationen är tillgänglig på båda enheterna och att operationer på båda sidor av relationen kaskadkopplas till andra sidan.

Jag föreslår också att du byter ut FetchType.EAGER med FetchType.LAZY för bättre prestanda eftersom detta har potential att ladda en mycket stor datamängd.



  1. hur man infogar flera arrayer i databasen med PHP

  2. Hur hittar man e-post med fler än 2 punkter med REGEXP MySQL-funktionen?

  3. Finns det en Profiler-motsvarighet för MySql?

  4. SQL-fråga för trädtabell