【发布时间】:2015-12-02 09:56:17
【问题描述】:
我不知道为什么,但是当我将此项目导入 Eclipse 时。这很好用。
所以,我认为这是导入 InteliJ IDEA 时 eclipse 项目的问题
这并不像我想象的那么容易。
我有类 Setting 和 Setting.hbm.xml 用于映射休眠。 在这堂课中:
<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]
请给点建议。
【问题讨论】:
-
可能重复的 qtn。检查此链接stackoverflow.com/questions/26084031/…
-
它不是重复的兄弟。请再次检查
-
不带点的查询名称是否给出相同的结果? (例如:“selectSetting”而不是“select.setting”)。
-
您是否在会话中加入了
hbm? -
是的,我使用spring boot并且已经设置了映射@Bean public LocalSessionFactoryBean sessionFactory() throws Exception { LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean(); sessionFactory.setDataSource(dataSource()); sessionFactory.setHibernateProperties(hibernateProperties()); sessionFactory.setMappingDirectoryLocations(new ClassPathResource[] { new ClassPathResource("data/model") });