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()
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.解决
添加
@Table(name = "users", schema = "dbo",catalog = "pkms")
最后 改数据库名 t_user 解决
原来是 表明与数据库关键字冲突造成。汗。