Ibatis的级联实现

ibatis被用来充当ORM框架的时候,对于习惯使用hibernate的用户来说,还是有点不是很适应的。

比如ibatis中没有hibernate对关联对象的级联操作的管理。需要自己手工的进行code处理,来完成和hibernate级联操作相同的功能。

方法,主要是借助于oracle的功能函数merge来实现,为此给出项目中的解决办法,通过ibatis的sql来完成。

 

statement id="mergeTaxTPMDepends" parameterClass="java.util.Hashtable">
  	<![CDATA[
  	   MERGE INTO $method_depends_table$ d
	   USING (SELECT tp_method_id
	            FROM $method_table$
	           WHERE tp_method_id IN ($depends$)) m
	   ON (d.tp_method_id = #methed_id# AND d.depend_method_id = m.tp_method_id)
	   WHEN NOT MATCHED THEN
	      INSERT (tp_method_id, depend_method_id)
	      VALUES (#methed_id#, m.tp_method_id)
  	]]>
  	</statement>
以上的sql,只是我们项目中的sql实现部分,并不是全部实现,大家可以参照oracle 的merge来完成,

你可能感兴趣的:(Ibatis的级联实现)