這個HRSystem是仿照書中的代碼編寫的,系統重建的過程可以視同于在此發表博文的時間順序
資料庫: mysql
前面調試了頁面的跳轉,問題解決後現在又出現了心的問題
背景:
1、通過頁面穿過來的使用者名及密碼,通過連接配接資料庫,在資料庫中查找是否存在此人資訊
2、在本系統中的設計中, employee 和 manager 使用同一張表(employee), 但是在java端,卻有兩個model:
Employee 和 Manager, 其中Manager繼承Employee。 并且Manager.java和
Employee.java這兩個類中存在兩個相同的變量 employees 和 checkBacks.
問題:
1、執行程式時報錯如下:
org.hibernate.HibernateException: Found shared references to a collection: test.model.Manager.employees
2、錯誤原因:
因為在Manager和Employee定義了相同 的變量,并提供了相應的set方法,并且在Employee.hbm.xml映射檔案中也全部定義了employee這個普通屬性。是以在程式執行的過程中,就會報 Found shared references to a collection 這個錯誤
3、 解決方法:
去掉Manager或Employee中相同的變量即可,Employee.hbm.xml檔案中有重複定義的屬性,也要去掉(或注釋)
因為Manager繼承了Employee, 是以Employee中有的Manager中也會有,于是去掉了Manager中重複定義的employees和checkBacks