亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Hibernate中多對多關系的常見問題

2019-11-18 12:57:25
字體:
來源:轉載
供稿:網友

  1、到底在哪用cascade="..."?
  
  cascade屬性并不是多對多關系一定要用的,有了它只是讓我們在插入或刪除對像時更方便一些,只要在cascade的源頭上插入或是刪除,所有cascade的關系就會被自己動的插入或是刪除。便是為了能正確的cascade,unsaved-value是個很重要的屬性。Hibernate通過這個屬性來判定一個對象應該save還是update,假如這個對象的id是unsaved-value的話,那說明這個對象不是persistence object要save(insert);假如id是非unsaved-value的話,那說明這個對象是persistence object(數據庫中已存在),只要update就行了。saveOrUpdate方法用的也是這個機制。
  
  2、到底在哪用inverse="ture"?
  
  inverse屬性默認是false的,就是說關系的兩端都來維護關系。這個意思就是說,如有一個Student, Teacher和TeacherStudent表,Student和Teacher是多對多對多關系,這個關系由TeacherStudent這個表來表現。那么什么時候插入或刪除TeacherStudent表中的記錄來維護關系呢?在用hibernate時,我們不會顯示的對TeacherStudent表做操作。對TeacherStudent的操作是hibernate幫我們做的。hibernate就是看hbm文件中指定的是"誰"維護關系,那個在插入或刪除"誰"時,就會處發對關系表的操作。前提是"誰"這個對象已經知道這個關系了,就是說關系另一頭的對象已經set或是add到"誰"這個對象里來了。前面說過inverse默認是false,就是關系的兩端都維護關系,對其中任一個操作都會處發對表系表的操作。當在關系的一頭,如Student中的bag或set中用了inverse="true"時,那就代表關系是由另一關維護的(Teacher)。就是說當這插入Student時,不會操作TeacherStudent表,即使Student已經知道了關系。只有當Teacher插入或刪除時才會處發對關系表的操作。所以,當關系的兩頭都用inverse="true"是不對的,就會導致任何操作都不處發對關系表的操作。當兩端都是inverse="false"或是default值是,在代碼對關系顯示的維護也是不對的,會導致在關系表中插入兩次關系。
  
  在一對多關系中inverse就更有意義了。在多對多中,在哪端inverse="true"效果差不多(在效率上)。但是在一對多中,假如要一方維護關系,就會使在插入或是刪除"一"方時去update"多"方的每一個與這個"一"的對象有關系的對象。而假如讓"多"方面維護關系時就不會有update操作,因為關系就是在多方的對象中的,直指插入或是刪除多方對象就行了。當然這時也要遍歷"多"方的每一個對象顯示的操作修關系的變化體現到DB中。不管怎樣說,還是讓"多"方維護關系更直觀一些。
  
  3、cascade和inverse有什么區別?
  
  可以這樣理解,cascade定義的是關系兩端對象到對象的級聯關系;而inverse定義的是關系和對象的級聯關系。
  
  4、net.sf.hibernate.ObjectDeletedException: deleted object would be re-saved by cascade (remove deleted object from associations): 2, of class: Xxxxx
  
  這個問題出現在要刪除關系的一頭時。如,要刪除一個已經和Student有關系的Teacher。當tx.commit();時才會拋出這個異常。這時一個在關系另一頭的Student對象中的Set或是List中把這個Teacher對象顯示的remove掉,再session.delete(這個teacher);。這是為了防止在Student端有cascade時把這個Teacher對象再存回DB。所以,這個異常的只有在Student的關系定義中有cascade="...",而且沒有像上面說的顯示的解除關系時才會出現。所以防止出現這個異常的方法就是:1,在Student端不用cascade;2,或是用cascade的話,就顯示的刪除對像中的關系。 3,在Teacher端要用cascade
  
  5、net.sf.hibernate.HibernateException: identifier of an instance of my.MyObject altered from N to N
  
  這個異常其時不是多對多中常碰到的,但是這個異常的提示不make sense,所以提一下,是因為id的java對象中的type和hbm文件中定義的不一樣,如:java中用long,而hbm中用type="integer",并且generator用的是identity時就會出現
  
  6、(To be add) 把hibernate碰到常見異常會一點點加上來的

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产丝袜一区视频在线观看| 亚洲free性xxxx护士hd| 亚洲欧洲在线播放| 91av免费观看91av精品在线| 亚洲国产日韩欧美在线99| 色香阁99久久精品久久久| 欧美国产精品人人做人人爱| 欧美电影在线观看高清| 日韩网站在线观看| 在线观看成人黄色| 亚洲国产精品yw在线观看| 亚洲永久免费观看| 亚洲一区二区三区视频| 日本韩国欧美精品大片卡二| 亚洲精品美女免费| 日韩精品中文字幕在线观看| 亚洲第一av在线| 亚洲天堂男人天堂女人天堂| 久久精品久久久久| 国内精品久久久久久影视8| 夜夜嗨av色一区二区不卡| 国产主播在线一区| 日韩欧美高清视频| 欧美巨乳美女视频| 亚洲国产精品久久久久久| 欧美日韩国产成人| 97色在线观看免费视频| 精品自拍视频在线观看| 亚洲国产99精品国自产| 欧美一区三区三区高中清蜜桃| 日韩电影中文字幕av| 国产一区二区黑人欧美xxxx| 国产精品丝袜高跟| 久久综合国产精品台湾中文娱乐网| 久久精品视频在线播放| 色综合色综合网色综合| 26uuu亚洲国产精品| 国产精品毛片a∨一区二区三区|国| 青草青草久热精品视频在线网站| 欧美成人午夜激情| 538国产精品一区二区免费视频| 欧美性猛交xxxx乱大交| 日韩视频第一页| 亚洲美女在线观看| 日韩久久免费视频| 欧美高跟鞋交xxxxxhd| 欧美日韩高清在线观看| 日韩中文字幕不卡视频| 高潮白浆女日韩av免费看| 欧美裸身视频免费观看| 欧美裸体男粗大视频在线观看| 久久中文字幕在线视频| 欧美一级视频在线观看| 91视频-88av| 亚洲综合在线小说| 成人精品视频久久久久| 日韩最新在线视频| 久久视频国产精品免费视频在线| 久久福利网址导航| 97国产suv精品一区二区62| 日韩在线播放视频| 国产精品av网站| 精品国产鲁一鲁一区二区张丽| 最近2019好看的中文字幕免费| 成人激情黄色网| 欧美另类第一页| 亚洲男人天堂九九视频| 成人免费视频a| 亚洲国产日韩欧美在线99| 国产91精品久| 伊人精品在线观看| 亚洲成人精品久久久| 中文字幕久热精品在线视频| 国产精品久久久久久一区二区| 亚洲国产成人91精品| 国产精品视频最多的网站| 欧美国产亚洲精品久久久8v| 亚洲午夜精品久久久久久久久久久久| 亚洲日韩中文字幕在线播放| 亚洲国产精品人久久电影| 98视频在线噜噜噜国产| 亚洲国产精品成人精品| 久久99久久久久久久噜噜| 亚洲电影在线观看| 尤物yw午夜国产精品视频| 日韩在线观看免费av| 性色av一区二区三区红粉影视| 91po在线观看91精品国产性色| 欧美国产乱视频| 国产精品一区=区| 日韩欧美中文字幕在线观看| 精品福利在线观看| 亚洲人成网站999久久久综合| 成人做爽爽免费视频| 国内精品久久久久| 亚洲黄一区二区| 7777kkkk成人观看| 久久高清视频免费| 欧美激情亚洲激情| 国外色69视频在线观看| 亚洲自拍偷拍网址| 亚洲精品电影久久久| 精品视频中文字幕| 欧美高跟鞋交xxxxxhd| 午夜精品久久久久久久白皮肤| 在线成人中文字幕| 久久久精品中文字幕| 97视频免费在线看| 国产aⅴ夜夜欢一区二区三区| 午夜精品一区二区三区在线视频| 久久久久久久影视| 亚洲精美色品网站| 成人国产精品久久久久久亚洲| 欧美精品免费播放| 精品一区二区三区四区在线| 国产精品劲爆视频| 亚洲国产精品女人久久久| 日本精品一区二区三区在线播放视频| 国产精品视频yy9099| 成人免费淫片视频软件| 最近的2019中文字幕免费一页| 国产亚洲在线播放| 91久久久久久久久久| 国产精品久久久久秋霞鲁丝| 性色av一区二区咪爱| xxav国产精品美女主播| 91亚洲精品久久久| 日韩成人中文字幕| 一区三区二区视频| 在线播放国产精品| 最新国产精品亚洲| 日韩欧美成人网| 欧美精品日韩www.p站| 欧美激情精品久久久久久| 亚洲男子天堂网| 欧美精品免费播放| 亚洲国产精品电影| 欧美亚洲成人xxx| 精品久久久久久久大神国产| 国产美女精品免费电影| 亚洲精品一区在线观看香蕉| 久久久国产一区二区三区| 欧美自拍大量在线观看| 国产午夜精品一区理论片飘花| 性色av香蕉一区二区| 国产精品爽爽爽爽爽爽在线观看| 国产精品三级久久久久久电影| 亚洲日本中文字幕免费在线不卡| 欧美另类在线观看| 97**国产露脸精品国产| 日韩va亚洲va欧洲va国产| 亚洲aⅴ日韩av电影在线观看| 日产精品久久久一区二区福利| 日本午夜在线亚洲.国产| 精品久久久久久中文字幕一区奶水| 青青草国产精品一区二区| 热门国产精品亚洲第一区在线| 欧美亚洲视频一区二区| 亚洲美女性视频| 疯狂蹂躏欧美一区二区精品| 欧美激情亚洲国产| 欧美壮男野外gaytube| 亚洲一区亚洲二区| 日本道色综合久久影院|