天天看點

hibernate注解配置關聯關系

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"})