Ordinary hut

          人間一福地,勝似天仙宮
          posts - 61, comments - 50, trackbacks - 0, articles - 1
          是否這樣設置了一對多,比如父類是Customer
          <set name="orderses" lazy="true" cascade="all" inverse="true">

          其實很簡單,當子類要進行保存操作的時候,要先到數(shù)據(jù)庫里面去查詢是否已經(jīng)存在了,如果存在了就調(diào)用update,否則就是insert,這就產(chǎn)生了那條select
          如果是多條Order的話,就會產(chǎn)生多個sql語句
          也不能說影響性能,正常寫jdbc的時候也需要這么判斷的

          如果想去掉這個查詢語句,那只有麻煩點了,就是去掉
          <set name="orderses" lazy="true" cascade="all" inverse="true">
          中的cascade="all"
          變?yōu)?
          <set name="orderses" lazy="true" inverse="true">
          ,默認的cascade是null的
          然后手工保存子類(Orders),比如:
          session.save(cust)
          session.save(orders1)
          session.save(orders2)

          一堆多余的sql了,但是增加了代碼的工作量
          主站蜘蛛池模板: 定日县| 吉木萨尔县| 友谊县| 合川市| 万载县| 疏勒县| 金昌市| 奉贤区| 钦州市| 福泉市| 丹东市| 依兰县| 宁明县| 杭锦后旗| 南华县| 麻江县| 民乐县| 丰台区| 靖江市| 敦化市| 黄石市| 松江区| 云和县| 陈巴尔虎旗| 许昌市| 三门县| 吉隆县| 怀远县| 商南县| 洞头县| 井研县| 桃园市| 长宁县| 张家川| 东平县| 巩留县| 依兰县| 江永县| 昆明市| 梓潼县| 贡觉县|