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就能删除多个记录的方法也可提出,我不想遍历逐条删除,希望能给点指点。
...全文
191 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过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执行下看看有什么问题。
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-10-22 05:17
社区公告
暂无公告