今天尝试用Hibernate从数据库中取得几个字段并填入一个自定义类中,但是一直报错:
org.hibernate.QueryException: Incorrect query syntax [select new Myclass(id, name) from model.Person ]
把自定义类改为list,依然报错。
org.hibernate.QueryException: Incorrect query syntax [select new list(id, name) from model.Person ]
网上查了好久,没找到解决方案。新建一个project并重新利用NetBeans创建Hibernate配置文件,生成POJO文件和映射,执行同样语句,通过。
仔细比较新旧Hibernate.cfg.xml文件,发现问题是在这一行:
<property name="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</property>
把这一行删掉就OK了。
另外,当这个配置存在时,select name from Person这样的语句也会报错:
org.hibernate.QueryException: undefined alias: uname [select name from Person]