Hallo,
ich habe EclipseLink auf die Version 2.5.1 aktualisiert, seitdem habe ich das Problem, dass das Löschen meiner ManyToMany Releations nicht mehr funktioniert. Ich habe zwei Entity Klassen... einmal die Klasse DTour und DSupplier.
Beziehung in DTour:
Beziehung in DSupplier:
Die Methode zum löschen
Früher war es so, wenn ich einen Supplier der Tour zugeordnet hatte, konnte ich den Supplier aufgrund der Zuweisung nicht mehr löschen. Jetzt lässt er sich löschen und die Zuweisung wird aus dem JOIN Table einfach gelöscht. Wie kann ich das unterbinden?
Danke und Gruß
Andy
ich habe EclipseLink auf die Version 2.5.1 aktualisiert, seitdem habe ich das Problem, dass das Löschen meiner ManyToMany Releations nicht mehr funktioniert. Ich habe zwei Entity Klassen... einmal die Klasse DTour und DSupplier.
Beziehung in DTour:
Code:
@ManyToMany( fetch = FetchType.LAZY )
@JoinTable( name = "assignments_tours_suppliers", joinColumns = @JoinColumn( name = "tour_id", referencedColumnName = "tour_id" ), inverseJoinColumns = @JoinColumn( name = "supplier_id", referencedColumnName = "supplier_id" ) )
private List<DSupplier> suppliers;
Beziehung in DSupplier:
Code:
@ManyToMany( mappedBy = "suppliers", fetch = FetchType.LAZY )
private List<DTour> tours;
Die Methode zum löschen
Code:
@DELETE
@Path( "delete/supplier/{id}" )
@Produces( MediaType.APPLICATION_XML )
public DSupplier deleteSupplier( @PathParam( "id" ) long id )
{
DSupplier result = null;
EntityManager em = factory.createEntityManager();
try
{
EntityTransaction entr = em.getTransaction();
boolean committed = false;
entr.begin();
try
{
result = em.find( DSupplier.class, id );
em.remove( result );
entr.commit();
committed = true;
}
finally
{
if ( !committed )
entr.rollback();
}
}
finally
{
em.close();
}
return result;
}
Früher war es so, wenn ich einen Supplier der Tour zugeordnet hatte, konnte ich den Supplier aufgrund der Zuweisung nicht mehr löschen. Jetzt lässt er sich löschen und die Zuweisung wird aus dem JOIN Table einfach gelöscht. Wie kann ich das unterbinden?
Danke und Gruß
Andy