1.在判斷到底是誰維護關聯關系時,可以通過檢視外鍵,哪個實體類定義了外鍵,哪個類就負責維護關聯關系。
joincolumn(name="pid")
2. 在儲存資料時,總是先儲存的是沒有維護關聯關系的那一方的資料,後儲存維護了關聯關系的那一方的資料,如:
person p = new person();
p.setname("xiaoluo");
session.save(p);
idcard card = new idcard();
card.setno("1111111111");
card.setperson(p);
session.save(card);
因為有主外鍵關系,不可能主鍵還沒有就生成外鍵
3.fetch=fetchtype.lazy 預設都是非延遲加載eager
--------------java轉json hibernate懶加載造成的無限遞歸問題 ----------------------
hibernate對象懶加載,json序列化失敗,因為懶加載這個對象屬性隻是一個代理對象,如果json直接當作一個存在的屬性去序列化就會出現錯誤
需要在實體類上加上
@jsonignoreproperties(value={"hibernatelazyinitializer","handler","fieldhandler"})
java轉json hibernate關聯關系造成的無限遞歸問題,value裡添加映射字段
@jsonignoreproperties(value={"hibernatelazyinitializer","handler","fieldhandler","historyarcticleslinkmapping"})