hibernate中表关系为多对多时,如何只删除中间表数据

时间:2022-03-19 19:46:40

先说问题:我遇到的问题是,在用户和用户组对象关系中他们是多对多关系。所以中间是成在一张中间表的。经理要求当逻辑删除对象数据时,必须删除中间表中的数据。

hibernate是面向对象操作sql语句的,如何当逻辑删除对象时,删除中间表呢,我开始想把中间表生成一个对象,但是发现中间表无法建立映射关系,所以放弃

最终选择写纯sql语句,语句如下

public void deleteGroupById(int id) {

this.getSessionFactory().openSession().createSQLQuery("delete from t_user_usergroup where usergroup_id=" + id).executeUpdate();

}