我在我的Java應用程序的DAO層下面的方法:破碎休眠保存方法
public void save(Employee emp) {
System.out.println("emp type: " + emp.getClass().getName);
getHibernateTemplate().save(emp);
System.out.println("object saved!");
System.out.flush();
}
Employee類不能從任何其他類擴展,並具有以下HBM文件:
<hibernate-mapping>
<class name="org.myCompany.Employee" table="employee">
<!-- fields omitted to save space -->
</hibernate-mapping>
然而,插入失敗並帶有java.lang.ClassCastException。起初,我還以爲出事了與我的映射(如一個整數的映射到一個布爾值),但後來我打開Hibernate的show_sql調試,發現我的日誌文件如下:
EMP類型:org.myCompany。員工
休眠:插入到客戶 (......)值(......)
java.lang.ClassCastException
爲什麼會選擇一個完全隨機的表中插入成?我確信我必須有一些配置文件配置錯誤,但我不知道哪一個。我檢查了以下內容:
- 的applicationContext-hibernate.xml - >兩個客戶和員工的對象映射到正確的HBM文件
- 沒有客戶或員工有繼承關係(甚至沒有一個共同的父類如Person或User)
我還能試試嗎?
查看完整的曲目。 – axtavt 2010-07-12 15:10:17