sql >> Database >  >> RDS >> Mysql

JPA veel op veel relatie wordt niet ingevoegd in gegenereerde tabel

Probeer dit:

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

Dit zorgt ervoor dat de metagegevens voor de veel-op-veel-relatie beschikbaar zijn voor beide entiteiten en dat bewerkingen aan beide kanten van de relatie naar de andere kant worden gecascadeerd.

Ik stel ook voor om FetchType.EAGER te vervangen met FetchType.LAZY voor betere prestaties omdat dit het potentieel heeft om een ​​zeer grote dataset te laden.



  1. Recursieve zoekopdracht in Oracle

  2. kan de externe sleutel niet laten vallen

  3. Tijdzoneproblemen hebben met PHP en MySQL

  4. Microsoft SQL Server Management Studio verkrijgen en installeren