1报错
org.hibernate.MappingException: Unknown entity: com.pkms.entity.User
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:628)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:91)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:906)
at org.hibernate.impl.SessionImpl.get(SessionImpl.java:843)
at org.hibernate.impl.SessionImpl.get(SessionImpl.java:836)
at com.core.hibernate.HibernateDao.get(HibernateDao.java:39)
at com.core.hibernate.HibernateDao.get(HibernateDao.java:47)
at com.core.hibernate.HibernateDao$$FastClassByCGLIB$$b72f665e.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)



2.原因
1) could not load an entity: [com.kaisir.server.vo.User#1]
2) 关键字 ‘User’ 附近有语法错误。

因为hibernate相关的部分都是由MyEclipse生成的,从映射文件到vo,理论上是不会出错的,后来经过检查,发现出错原因在于“User”这个是Sql Server的关键字,Hibernate没智能到给关键字加上”[ ]“以示区分。

3.解决

<bean id="sessionFactory"

class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

添加

<property name="packagesToScan" value="com.pkms.*" />

@Table(name = "users", schema = "dbo",catalog = "pkms")


最后 改数据库名 t_user 解决

原来是 表明与数据库关键字冲突造成。汗。