JPA @ManyToMany: supprimer dans la 3e table générée
Bonsoir
J'ai 2 beans Entrée et Emplacement liés par une relation many to many et par conséquent, une 3e table a été générée.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| @Entity
@Table(name = "ENTREE")
public class Entree {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID_ENTREE", updatable = false, nullable = false)
private long idEntree;
@ManyToMany( fetch = FetchType.LAZY)
@JoinTable(name = "entree_emplacement",
joinColumns = {
@JoinColumn(name = "id_entree")},
inverseJoinColumns = {
@JoinColumn(name = "id_emplacement")})
private Set<Emplacement> emplacements = new HashSet<>(); |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| @Entity
@Table(name = "EMPLACEMENT")
public class Emplacement {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID_EMPLACEMENT", updatable = false, nullable = false)
private long idEmplacement;
@Column(name = "NUM_EMPLACEMENT", insertable=true, updatable=true, nullable=false)
private String numEmplacement;
@ManyToMany( fetch = FetchType.LAZY, mappedBy = "emplacements")
private Set<Entree> entrees = new HashSet<>(); |
J'essaye de supprimer des lignes dans la 3e générée mais je reçois ce message d'erreur:
Citation:
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: entree_emplacement is not mapped
Voici mon code de suppression:
Code:
1 2 3 4
| @Transactional
@Modifying
@Query("DELETE from entree_emplacement WHERE id_entree = :id_entree and id_emplacement = :id_emplacement")
void deleteEntreeEmplacementById( @Param("id_entree") long idEntree, @Param("id_emplacement") long id_emplacement ); |
Merci