是否有可能(如果是,如何?)映射要从表中提取的实体类,但是通过过程插入/更新/删除,而不是执行INSERT
/ UPDATE
/ {{ 1}}在这张桌子上?
实体配置是通过XML完成的,使用特定于Oracle的类/方法是可以的。
答案 0 :(得分:1)
您可以映射自version 3.5以来的创建/更新/删除操作的自定义SQL。
如果要映射常规SQL语句,只需在<sql-insert>
,<sql-update>
,<sql-delete>
元素内正常编写SQL。
使用存储过程时,需要将它们标记为可调用语句并使用调用语法。请注意删除和更新所需的输出参数,返回已删除的行数。
<class name="Person">
<id name="id">
<generator class="increment"/>
</id>
<property name="name" not-null="true"/>
<sql-insert callable="true">{call createPerson (?, ?)}</sql-insert>
<sql-delete callable="true">{? = call deletePerson (?)}</sql-delete>
<sql-update callable="true">{? = call updatePerson (?, ?)}</sql-update>
</class>