Hibernate为什么找不到实体?

来源:百度知道 编辑:UC知道 时间:2024/05/16 08:00:30
在myeclipse中的项目使用注解进行映射,配置文件hibernate.properties
持久化类中也加了实体映射注解。可就是在运行的时候找不到。
异常如下。

org.hibernate.MappingException: Unknown entity: mem.Member
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:550)
at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1338)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:98)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
at org.hibernate.event.def.DefaultSave

我之前回答的没有作用吗?你怎么还写成这样?

那你把实体类也一起打包到hbm的那个jar包里去啊.
关键是如果打包到一个里面还互相找不到的话,那就说明程序根本那个jar包都还没找到,你之前的写法就还有问题.
没有测试就没有发言权!
我刚才去测试了.我自己的程序中,我这么写的
<property name="mappingJarLocations">
<list>
<value>/WEB-INF/lib/po.jar</value>
</list>
</property>
就是把jar包放到lib目录下了,绝对能找到,而正常工作.
楼主对.hbm.xml的打包时没问题吧?用eclipse的话要export出来成jar的.
一下的也可以
<property name="mappingJarLocations">
<list>
<value>classpath*:../lib/po.jar</value>
</list>
</property>
后面回答的没有说要把java文件也一起打包的.就是位置问题应该.

WEB-INF/lib/Hbm.jar找不到的话,说明你根本就没有放Hbm.jar到lib目录下去.要么你的Hbm.jar名字错了.要么你的压缩方式有问题.