hibernate4 org.hibernate.MappingException: Unknown entity:
spring4 +hibernate4
如果addEntity 那么就会报错,但是不添加是不会报错的,我的猜测是没有加载到映射文件,但是不知道怎么验证.
望大神帮忙,先谢谢了
session.createSQLQuery(queryString).addEntity(entityClass);
访问报错信息如下:
org.hibernate.MappingException: Unknown entity: com.huni.yz.entity.CustomerInfo
at org.hibernate.internal.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:1096)
at org.hibernate.loader.custom.sql.SQLQueryReturnProcessor.getSQLLoadable(SQLQueryReturnProcessor.java:374)
at org.hibernate.loader.custom.sql.SQLQueryReturnProcessor.processRootReturn(SQLQueryReturnProcessor.java:427)
at org.hibernate.loader.custom.sql.SQLQueryReturnProcessor.processReturn(SQLQueryReturnProcessor.java:394)
at org.hibernate.loader.custom.sql.SQLQueryReturnProcessor.process(SQLQueryReturnProcessor.java:196)
at org.hibernate.loader.custom.sql.SQLCustomQuery.<init>(SQLCustomQuery.java:88)
at org.hibernate.engine.query.internal.NativeQueryInterpreterStandardImpl.createQueryPlan(NativeQueryInterpreterStandardImpl.java:84)
at org.hibernate.engine.query.spi.QueryPlanCache.getNativeSQLQueryPlan(QueryPlanCache.java:226)
at org.hibernate.internal.AbstractSessionImpl.getNativeSQLQueryPlan(AbstractSessionImpl.java:305)
at org.hibernate.internal.AbstractSessionImpl.list(AbstractSessionImpl.java:311)
at org.hibernate.internal.SQLQueryImpl.list(SQLQueryImpl.java:141)
at com.huni.yz.dao.impl.basicDaoImpl.findBySQL(basicDaoImpl.java:84)
applicationContext.xml 中sessionFactory 配置
!-- Hibernate Session Factory bean -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean" lazy-init="true">
<property name="dataSource" ref="ds"/>
<property name="mappingLocations">
<list>
<value>classpath:com/huni/yz/entity/*.hbm.xml</value>
</list>
</property>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
谢谢大家,目前已经知道原因了,因为项目中用了maven,我对maven还不太熟,
maven默认放置资源文件的路径是 src/main/resources,而我的映射文件在src/main/java下,所以我的映射文件都没有加载到,于是出现上述报错;
后面可以考虑用,现在尝试新框架太冒险了
来用 SSM 架构吧!
mybatisplus-spring-boot
mybatisplus-spring-mvc
mybatis-plus 文档
实体类扫描是在哪里扫描呢?我可能是什么地方有问题导致我的实体类没找到呢?
你用的spring容器,那就看你的spring注解扫描范围有没有包括进实体吧
我的实体类和映射文件都在entity下面,我还需要做一些其他的配置吗? <property name="mappingLocations"> <list> <value>classpath:com/huni/yz/entity/*.hbm.xml</value> </list> </property>
spring核心配置文件: <context:component-scan base-package="你的扫描范围"/>
<context:component-scan base-package="com.huni.yz.*"/> 我是这样写的 是不是我写的有问题?
unknown
entity,应该不是映射文件没找到,而是实体类没有扫描到吧
容易上手吗?因为比较急,如果不容易上手的话可能还是想把目前的问题先解决
劝你使用jpa吧;简洁,易开发;