每日一得-org.hibernate.hql.ast.QuerySyntaxException: Path expected for join!错误解决办法

本文介绍了Hibernate HQL中JOIN查询的正确用法,包括如何替换ON为WHERE条件、明确对象间映射关系,并通过具体例子展示了如何解决Path expected for join异常。

org.hibernate.hql.ast.QuerySyntaxException: Path expected for join!

HQL进行JOIN连接查询时需要注意几点:

1.HQL不支持ON,需要将ON换成WHERE

2.需要注明对象之间的映射关系


Product.hbm.xml映射文件如下:

<one-to-one name="book" class="com.entity.Book" fetch="join"/>

Product类中需要有

private Book book;

HQL语句:

String hql = "select new com.entity.BookInfo(p.id,p.productName,p.fixedPrice,p.dangPrice,p.addTime," +
     "b.author,b.publishing,b.publishTime,b.catalogue,p.productPic)"+
         "from Product p, Book b where p.id=b.id and b.publishTime=(" +
         "select max(b.publishTime) from Product p join p.book b where p.id=b.id)";

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值