NutzCN Logo
问答 Dao针对多对多关系的接口中,能否提供一个基于toField来删除中间表的?
发布于 3000天前 作者 qq_deaa78a1 1924 次浏览 复制 上一个帖子 下一个帖子
标签:

简单的说,就是insertRelation的逆操作。或者说,能否提供deleteRelation?
这个方法最终生成的SQL是 DELETE relation WHERE fromFieldName=实体PK AND toFieldName IN (实体多对多集合属性的类的PK值)。

就拿官方文档的food和pet来说,
deleteWith是n、m、中间表全删除
deleteLinks是m、中间表删除
clearLinks是中间表删除(所有from字段=实体PK的,也就是清除中间表中实体PK的所有记录)
是否可以提供一个删除范围更小的(以实体中多对多的集合中的记录为目标)方法?

4 回复

删关联表的数据不删中间表的数据?

来自炫酷的 NutzCN

多对多,只删中间表,其它表都不删。
就是比clearLinks的范围还要小,clearLinks是Where from字段 = 实体的ID,我想要的是后面还要 AND to字段 in 实体那个对应集合属性里的ID。

关键是中间表是生成的,不如自定义sql来的简单方便些。

弄个pojo来管理是不是更好?

添加回复
请先登陆
回到顶部