我不知道为什么,但是当我将此项目导入 Eclipse 时。这个效果很好。
所以,我认为这是eclipse项目导入InteliJ IDEA时的问题
<小时/>这并不像我想象的那么容易。
我有类Setting和Setting.hbm.xml用于映射hibernate。 在本类(class)中:
<hibernate-mapping>
<class name="Setting" table="setting" lazy="false">
<id name="id" column="id" type="integer">
<generator class="increment" />
</id>
.....
</class>
<query name="select.setting">
from Setting as s where s.id = ? order by s.name
</query>
现在,当我调用函数时
this.getHibernateTemplate().findByNamedQuery("select.setting", params);
此返回错误
org.springframework.orm.hibernate4.HibernateSystemException: Named query not known: select.setting; nested exception is org.hibernate.MappingException: Named query not known: select.setting
at org.springframework.orm.hibernate4.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:218) ~[spring-orm-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.orm.hibernate4.HibernateTemplate.doExecute(HibernateTemplate.java:343) ~[spring-orm-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.orm.hibernate4.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:308) ~[spring-orm-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.orm.hibernate4.HibernateTemplate.findByNamedQuery(HibernateTemplate.java:933) ~[spring-orm-4.1.6.RELEASE.jar:4.1.6.RELEASE]
请大家给点建议。
最佳答案
你可以尝试一下。
<query name="select.setting">
<![CDATA[from Setting as s where s.id = ? order by s.name]]>
</query>
关于java - Hibernate 命名查询不知道错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34039689/