Biz birlikte aşağıdaki iki varlıklara sahip pek-çok dernek:Hazırda bekleyen tüm katılımcılar bir kerede bir JoinTable nasıl silinir?
@Entity
public class Role {
...
@ManyToMany
@JoinTable(name = "user_has_role", joinColumns = { @JoinColumn(name = "role_fk") }, inverseJoinColumns = { @JoinColumn(name = "user_fk") })
private Set<User> userCollection;
...
}
ve
@Entity
public class User {
...
//bi-directional many-to-many association to Role
@ManyToMany(mappedBy = "userCollection")
private Set<Role> roleCollection;
...
}
biz temizlemek zorunda
em.createQuery("DELETE Role").executeUpdate();
ile tüm verileri kesmek istiyorsanız
this answer: 'te gösterildiği gibi "user_has_role" JoinTable'daki tüm ilişkilendirmelerfor (...)
{
A a = aDao.getObject(aId);
B b = bDao.getObject(bId);
b.getAs().remove(a);
a.getBs().remove(b);
bDao.saveObject(b);
}
Tüm verileri yinelemeden JoinTable öğesindeki tüm ilişkilendirmeleri bir kerede silmek için bir yol var mı? Belki bir HQL-Command gibi DELETE Role.user_has_role
var?