nested exception is org.hibernate.MappingException: Unknown entity:

今天编译j2ee项目,ssh框架 发生错误如下:
2014-06-09 23:23:01,894 ERROR [com.mmu.sys.dao.impl.UserProfileDAOImpl] - get failed
org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity: com.mmu.common.models.UserProfile; nested exception is org.hibernate.MappingException: Unknown entity: com.mmu.common.models.UserProfile
at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:690)
at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
at org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:532)
at org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:526)
at com.mmu.sys.dao.impl.UserProfileDAOImpl.findById(UserProfileDAOImpl.java:78)
at com.mmu.sys.service.RegServiceImpl.getUserById(RegServiceImpl.java:64)
at com.mmu.sys.service.RegServiceImpl
FastClassByCGLIB
d216bec1.invoke()
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
度娘一下,都说是实体类没有引用 import javax.persistence.Entity; 造成的;后来发现跟这个包没有任何关系,完全是个人习惯造成的。
使用hibernate工具生成实体类,同时生成spring dao生成的目录在自建的一个临时目录内,后拷贝到要使用实体类和dao的工程目录内,就产生上述问题。
工具生成的dao的方法中必然有一个 findById 方法:
[html] view plain copy
public UserProfile findById(java.lang.String id) {
log.debug(“getting UserProfile instance with id: ” + id);
try {
UserProfile instance = (UserProfile) getHibernateTemplate().get(
“com.mmu.sys.models.UserProfile”, id);
return instance;
} catch (RuntimeException re) {
log.error(“get failed”, re);
throw re;
}
}
其中 com.mmu.sys.models.UserProfile 是工具根据生成的包路径 写死在这个地方的,那么model 更换目录后,就产生上述问题。

你可能感兴趣的:(nested exception is org.hibernate.MappingException: Unknown entity:)