为了账号安全,请及时绑定邮箱和手机立即绑定

请问怎么样做才能使findAll方法中的hql语句正确呢????

请问怎么样做才能使findAll方法中的hql语句正确呢????

慕码人8056858 2023-03-03 14:10:17
先创建一个PhotoInfo.hbm.xml 文件用hbm2java生成的java文件如下package finder;import java.io.Serializable;import java.util.List;import java.sql.SQLException;import net.sf.hibernate.*;import net.sf.hibernate.type.Type;/** Automatically generated Finder class for PhotoInfoFinder.* @author Hibernate FinderGenerator **/public class PhotoInfoFinder implements Serializable {...........................public static List findAll(Session session) throws SQLException, HibernateException {List finds = session.find("from PhotoInfo in class photo.PhotoInfo");return finds;}}注意上面的那个java文件 里面有个public static List findAll(Session session) 方法. 该方法的内容是错误的, 但是它是hbm2java自动生成的hql语言.. 那么我还是想用hbm2java这个工具的. 自动生成的hql语句为:from PhotoInfo in class photo.PhotoInfo正确的hql语句为:from photo.PhotoInfo
查看完整描述

2 回答

?
烙印99

TA贡献1829条经验 获得超13个赞

其实工具也不是万能的,它自动生成的东西也有些是错误的,不能编译通过的,所以还是要手动修改一下,你只要知道hql的具体原理是什么就知道该怎么修改了.你只要知道from 后面接hibernate的实体类的类名,而不是数据库中的表名就可以了.

查看完整回答
反对 回复 2023-03-06
?
ibeautiful

TA贡献1993条经验 获得超5个赞

你这个加入了join操作!
得到的根本不是
city
对象的list
当然出错
你做了级联操作,
那么hibernate返回的是
list
的方式
你应该用这个接收,
每个object[]代表一条数据记录

查看完整回答
反对 回复 2023-03-06
  • 2 回答
  • 0 关注
  • 74 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信