我正在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库。
答案 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"/>
同时将映射资源的标记更改为映射类,并查看它是否有效。