t181935471 2010-10-09 15:40
浏览 219
已采纳

hibernate的hql语句迷惑

[code="java"]
public List initPermission(int postId) {
Session session=sessionFactory.getCurrentSession();
String hql="select f.* from FuncInfo f,Post p,FunPost fp where fp.postId=? and fp.funcInfoId=f.functionId";
Query query=session.createQuery(hql);
query.setInteger(0, postId);

    List<FuncInfo> lists=(List<FuncInfo>)query.list();
    return lists;
}

[/code]

这是方法,但是却报如下异常:
[code="java"]

15:33:07,640 DEBUG JDBCTransaction:163 - rolled back JDBC Connection
org.hibernate.hql.ast.QuerySyntaxException: expecting IDENT, found '*' near line 1, column 10 [select f.* from com.itsp.funcinfo.dao.model.FuncInfo f,com.itsp.userinfo.dao.model.Post p,com.itsp.userinfo.dao.model.FunPost fp where fp.postId=? and fp.funcInfoId=f.functionId]

15:33:07,531 DEBUG JDBCTransaction:54 - begin
15:33:07,531 DEBUG JDBCTransaction:59 - current autocommit status: true
15:33:07,531 DEBUG JDBCTransaction:62 - disabling autocommit
15:33:07,593 ERROR PARSER:33 - line 1:10: expecting IDENT, found '*'
15:33:07,625 DEBUG JDBCTransaction:152 - rollback
15:33:07,625 DEBUG JDBCTransaction:193 - re-enabling autocommit
15:33:07,640 DEBUG JDBCTransaction:163 - rolled back JDBC Connection

[/code]

提示hql语句语法错误,希望大家指教,非常感谢!!!

  • 写回答

3条回答 默认 最新

  • weixin_42527311 2010-10-09 17:06
    关注

    [color=blue]select f.* from FuncInfo f,Post p,FunPost fp where fp.postId=? and fp.funcInfoId=f.functionId";
    不能写成f.* 如果你要查询所有的话。直接写f就好了[/color]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料