引起:org.hibernate.boot.registry.classloading.spi.ClassLoadingException:无法加载类[Employee]

时间:2017-04-24 02:47:25

标签: java hibernate classnotfound

我正在Eclipse上编写一个简单的Hibernate程序。我按步骤完成了所有步骤,但在编译完之后我做了一遍:

Caused by: org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [Employee]

Caused by: java.lang.ClassNotFoundException: Could not load requested class : Employee

我也添加了所有必需的jar库。

这是我的项目结构: here

2 个答案:

答案 0 :(得分:2)

使用资源映射

当您使用地图资源时,问题在于emp.hbm.xml中提到的类路径,因为您在Employee.java包中hibernatetutorial1的类路径将为{{1} }}。所以你需要在hibernatetutorial1.Employee

中提到这一点
emp.hbm.xml

并将此资源映射到//emp.hbm.xml <hibernate-mapping> <class name="hibernatetutorial1.Employee" table="tablename"> ....... ....... </hibernate-mapping>

Hibernate.cfg.xml

使用带注释的类映射

使用带注释的类会更好,因为它们减轻了你的负担,如果你使用带注释的类,那么你需要在//Hibernate.cfg.xml <hibernate-configuration> <session-factory> ...... ...... ...... <mapping resource="emp.hbm.xml"/> </session-factory> </hibernate-configuration> 中提到你的类路径,你需要使用映射类,不需要映射资源

Hibernate.cfg.xml

答案 1 :(得分:1)

在hibernate配置文件中检查此条目。可能是您更改了包名,忘了更改配置文件中的引用。

<mapping class="Package of employee class"/>

同时将映射资源的标记更改为映射类,并查看它是否有效。