Hibernate Error in named query (Unknown entity)

1. Problem Description

I configured a VO rather than Entity in <sql-query><return>, then,

when run jUnit, encountered this:

Caused by: org.hibernate.HibernateException: Errors in named queries: getCustomerInfo
	at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:528)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1750)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1788)
	at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:247)
	at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:373)
	at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:358)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods

(AbstractAutowireCapableBeanFactory.java:1571)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean

(AbstractAutowireCapableBeanFactory.java:1509)
	... 53 more

2. Analysis

2.1 Enable log4j

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
	<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
		<param name="Target" value="System.out" />
		<layout class="org.apache.log4j.PatternLayout">
			<param name="ConversionPattern" value="%d{ABSOLUTE} %5p %c:%L - %m%n" />
		</layout>
	</appender>
	
	<root>
		<level value="debug" />
		<appender-ref ref="stdout" />
	</root>
</log4j:configuration>
With log4j enabled, I can see following detailed error in console when running junit test. I see 'Unknown entity'.
19:31:16,766 ERROR org.hibernate.internal.SessionFactoryImpl:524 - HHH000177: Error in named query: getCustomerInfo
org.hibernate.MappingException: Unknown entity: com.xxx.integration.broker.vo.CustomerInfo

2.2 Online clue
James Replied on May 12,2013 : It seems that you have not configured com.xxx.integration.broker.vo.CustomerInfo in hibernate.cfg.xml. Hibernate will not consider any entity if it is not configured in hibernate.cfg.xml

3. Solution

Take a look at this example, use VO rather than Entity to map a named native query.

http://blog.csdn.net/derek_zhang_/article/details/18367401



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值