Hibernate 自定义持久化实现

[size=medium]Hibernate 自定义持久化实现

在Hibernate3中,我们可以对实体的insert,update,delete操作进行定义,而无需完全依赖Hibernate提供的自动化操作接口.

对应自定义持久化机制,配置文件中引入了以下3个新的节点定义:sql-insert,sql-update与sql-delete.通过这3个节点,我们可以直接指定用于实体insert,update,delete操作的SQL语句,从而避免了Hibernate自生成SQL所带来的局限.

对于Item映射,我们可以如下定义:[/size]
<hibernate-mapping package="com.hpjianhua.hibernate.model">
<class name="Item" table="t_items">
<id name="itemNo">
<generator class="assigned"/>
</id>
<property name="itemName" not-null="true"/>
<property name="spec"/>
<property name="pattern"/>
<many-to-one name="category"/>
<many-to-one name="unit"/>
<sql-insert>
INSERT INTO T_ITEM(ID,NAME,AGE) VALUES(?,?,?)
</sql-insert>
<sql-update>
UPDATE T_ITEM SET NAME=?,AGE=? WHERE ID=?
</sql-update>
<sql-delete>
DELETE FROM T_ITEM WHERE ID=?
</sql-delete>
</class>
</hibernate-mapping>


[size=medium]sql-insert,sql-delete,sql-update 节点还拥有一个可选属性:callabel.如果此属性为true,则当前所定义的定点将被视为存储过程加以执行.

注意:自定义持久化实现与Hibernate提供的内置支持配置文件是不一样的.自定义持久化实现的定义是在节点class内,而内置支持是与class节点同个级别的.[/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值