HQL两张表查询

min1178151146 2012-07-01 10:19:17
select count(*) from Video v, Collectlist c where v.videoId=c.videoID and c.userID=2这条语句有问题吗?
Video表内videoID是主键,Collectlist里videoID,userID是外键,查询Collectlist表里用户ID为2的所有Video属性信息,
在Query query = getSession().createQuery(hql);处报错,报错的信息说could not resolve property: userID of: com.coe.entity.Collectlist

试了select count(*) from Video v, Collectlist c where v.videoId=c.getVideo().videoID and c.getUser().userID=2,也还是在Query query = getSession().createQuery(hql);报错,不过报错是10:21:30,356 ERROR PARSER:33 - <AST>:1:101: unexpected AST node: (
java.lang.NullPointerException


这两条语句有什么问题吗?
...全文
298 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
雨木林风 2012-07-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

第一种写法:select count(*) from Video v, Collectlist c where v.videoId=c.videoID and c.userID=2换成select count(V) from Video v, Collectlist c where v.videoId=c.videoID and c.userID=2,顺便再检查下Collectlist中user……
[/Quote]
第一种sql和hql混了
Y飞 2012-07-02
  • 打赏
  • 举报
回复
第一种写法:select count(*) from Video v, Collectlist c where v.videoId=c.videoID and c.userID=2换成select count(V) from Video v, Collectlist c where v.videoId=c.videoID and c.userID=2,顺便再检查下Collectlist中userID属性注入是否正确
第二种写法很混乱,对于hql语句用法需详细理解...
huimiezu 2012-07-02
  • 打赏
  • 举报
回复
Collectlist类里面可能不是叫userID,或者userID没有get方法
未来纪元 2012-07-01
  • 打赏
  • 举报
回复
第一种不知道干嘛,好像把hql写法和sql写法混了起来,还有数据库字段确定一下
第二种如果用hql语句,只需要对象.属性.属性
可能是select count(*) from Video v, Collectlist c where v.videoId=c.video.videoID and c.user().userID=2
如果有问题,想写hql的话最好把三个实体类都贴出来。想写sql的话表和字段也要贴出来
paperbook 2012-07-01
  • 打赏
  • 举报
回复
Collectlist类里面你可能写的字段不是叫userID ,第二个是你hql语句就写错了,第一个写法是正确的

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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