Ich verwende JPA 2.1, mysql.JPA ManyToMany fügt nicht in die Join-Tabelle ein, wenn create
Entity Usuario
@Entity
@Table(name = "USUARIO")
public class Usuario {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID_USUARIO")
private Integer id;
@Column(name = "NOMBRE", length = 30)
private String nombre;
@ManyToMany(fetch = FetchType.LAZY, mappedBy = "integrantes", cascade = {CascadeType.ALL})
private List<NucleoFamiliar> nucleosFamiliares;
@ManyToMany(fetch = FetchType.LAZY, mappedBy = "integrantes", cascade = {CascadeType.ALL})
private List<GrupoJaas> gruposJaas;
... getters setters
}
Entity GrupoJaas
@Entity
@Table(name = "GRUPO_JAAS")
public class GrupoJaas {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID_GRUPO_JAAS")
private Integer id;
@Column(name = "NOMBRE", length = 30)
private String nombre;
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "INTEGRANTE_GRUPO_JAAS", joinColumns = {
@JoinColumn(name = "ID_GRUPO_JAAS") }, inverseJoinColumns = @JoinColumn(name = "ID_USUARIO"))
private List<Usuario> integrantes;
... getters setters
}
Entity NucleoFamiliar
@Entity
@Table(name = "NUCLEO_FAMILIAR")
public class NucleoFamiliar {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID_NUCLEO_FAMILIAR")
private Integer id;
@Column(name = "NOMBRE", length = 100)
private String nombre;
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "INTEGRANTE_NUCLEO_FAMILIAR", joinColumns = {
@JoinColumn(name = "ID_NUCLEO_FAMILIAR") }, inverseJoinColumns = @JoinColumn(name = "ID_USUARIO"))
private List<Usuario> integrantes;
... getters setters
}
Wenn ich ein neues "NucleoFamiliar" mit einer nicht-leeren Liste von "integrantes" erstellen, jpa führt 2 Sätze wie erwartet aus:
Wenn ich erstelle eine neue "Usuario" mit einer nicht-leeren Liste von "gruposJaas", JPA führt nur einen Satz:
insert into USUARIO
Warum ist die Ausführung nicht in INTEGRANTE_GRUPO_JAAS einfügen !! ???
Beide Codes (erstellen "NucleoFamiliar" und erstellen "Usuario") sind fast gleich, ich meine, sie sind fast identisch.
Bitte helfen Sie, ich verbrachte Tage alles beobachten, und ich habe eine Lösung noch (ich verwende JPA 2.1) nicht
Es scheint, dass Ihre Zuordnung korrekt ist. Wo erstellt und speichert der Code Entitäten? Wenn Sie den Code veröffentlichen, kann es hilfreich sein zu sehen, warum es nicht funktioniert. – ujulu