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

先创建一个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

慕码人8056858
浏览 97回答 2
2回答

烙印99

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

ibeautiful

你这个加入了join操作!得到的根本不是city对象的list当然出错你做了级联操作,那么hibernate返回的是list的方式你应该用这个接收,每个object[]代表一条数据记录
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java