hibernate多条数据删除;临时表别名

你慧快乐 2015-10-22 05:17:23
使用delete from User as u where u.userId in (1,2,3)删除多条数据,生成了sql如下:
insert
into
HT_user
select
user0_.userId as userId
from
studentManager.user user0_
left outer join
users_roles user0_1_
on user0_.userId=user0_1_.userId
where
userId in (
1,2,3
)
报错:Column 'userId' in where clause is ambiguous
应该就是指where 条件中的userId不明确,但是为什么没有加别名呢,普通的查询更新,不管是单表操作还是多表关联操作都是加别名的,为什么这个就没有呢,还是问题就不在这里,或是有能实现一条sql就能删除多个记录的方法也可提出,我不想遍历逐条删除,希望能给点指点。
...全文
230 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
AlexMoonshadow 2015-10-26
  • 打赏
  • 举报
回复
引用 2 楼 tianxiang_1990 的回复:
[quote=引用 1 楼 AlexMoonshadow 的回复:] hql粘出来换sql执行下看看有什么问题。
你是说直接执行打印出的sql吗,肯定会报同样的错误啊,这个是mysql犯规的错误,又不是hibernate,直接在客户端执行也是这个问题,但是加上别名就没问题了[/quote] 那就没办法了,sql调通了再放上去吧,这种问题经常发生的。
你慧快乐 2015-10-23
  • 打赏
  • 举报
回复
引用 1 楼 AlexMoonshadow 的回复:
hql粘出来换sql执行下看看有什么问题。
你是说直接执行打印出的sql吗,肯定会报同样的错误啊,这个是mysql犯规的错误,又不是hibernate,直接在客户端执行也是这个问题,但是加上别名就没问题了
AlexMoonshadow 2015-10-22
  • 打赏
  • 举报
回复
hql粘出来换sql执行下看看有什么问题。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧