`
hpjianhua
  • 浏览: 240921 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

Hibernate 自定义持久化实现

阅读更多
Hibernate 自定义持久化实现

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

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

对于Item映射,我们可以如下定义:

<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>


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

注意:自定义持久化实现与Hibernate提供的内置支持配置文件是不一样的.自定义持久化实现的定义是在节点class内,而内置支持是与class节点同个级别的.
分享到:
评论

相关推荐

    利用 hibernate对象持久化服务简化数据库访问

    ### 利用 Hibernate 对象持久化服务简化数据库访问 #### 摘要 Hibernate 是一款开源的对象关系映射(Object Relational Mapping,ORM)框架,它通过强大的 ORM 功能将 Java 对象与关系数据库中的数据进行映射。...

    精通Hibernate:Java对象持久化技术详解.pdf

    《精通Hibernate:Java对象持久化技术详解》这本书深入剖析了Hibernate这一流行的Java对象关系映射(ORM)框架,旨在帮助开发者全面理解并熟练掌握Hibernate的使用。Hibernate是Java开发中的重要工具,它简化了...

    自己写的一个持久化层

    总的来说,这个自定义持久化层是一个实现了数据持久化的Java组件,其设计灵感来源于Hibernate,但可能根据特定需求进行了调整或简化。通过使用JDBC作为底层数据访问手段,它能够与多种数据库系统进行交互。对于学习...

    简要分析Java的Hibernate框架中的自定义类型

    `UserType`提供了对Java对象和数据库列之间转换的一系列方法,包括获取SQL类型的数组(`sqlTypes()`)、返回对象的Java类(`returnedClass()`)、比较两个对象的持久化相等性(`equals()`)、计算对象的哈希值(`...

    “Hibernate持久化技术在J2EE框架中的应用”学习报告

    《Hibernate持久化技术在J2EE框架中的应用》学习报告主要探讨了Hibernate这一对象关系映射(ORM)框架如何在J2EE环境中实现数据的持久化。Hibernate通过提供轻量级的JDBC封装,使开发者可以更专注于面向对象的编程,...

    JPA + Hibernate 3 CRUD操作历史审计日志的解决方案

    JPA(Java Persistence API)作为Java EE的一部分,提供了一种标准的方式来管理和持久化Java对象到关系数据库。Hibernate作为JPA的一个流行实现,进一步增强了其功能。然而,随着业务的发展,有时我们需要记录这些...

    邮箱(hibernate+Servlet+自定义标签,内带hibernate配置,自定义标签分页)

    综上所述,这个项目展示了如何集成Hibernate、Servlet和自定义标签来构建一个功能完备的邮件系统,包括数据持久化、服务器端控制和用户友好的前端展示。这样的设计不仅提高了开发效率,也优化了用户体验。在实际开发...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    hibernate-符合Java习惯的关系数据库持久化

    **标题解析:** “hibernate-符合Java...这份“gz的资料库”中的Hibernate API文档将涵盖上述所有知识点,为开发者提供详尽的指导,帮助他们更好地理解和应用Hibernate框架,实现高效、便捷的关系数据库持久化操作。

    hibernate将本地SQL查询结果封装成对象

    在Java的持久化框架中,Hibernate是一个非常重要的工具,它提供了强大的对象关系映射(ORM)功能,使得开发者可以方便地在Java对象和数据库表之间进行数据操作。当我们需要执行一些特殊的、复杂的或者非标准的SQL...

    深入浅出Hibernate中文版 part1

    4.7 自定义持久化实现 第5章 Hibernate高级特性 5.1 Hibernate持久化实现 5.2 Hibernate回调与拦截机制 5.3 Hibernate实用技术 第6章 Hibernate 实战——创建RedSaga论坛 6.1 目标 6.2 E-R建模还是对象建模 ...

    HIBERNATE - 符合Java习惯的关系数据库持久化.doc

    在持久化类部分,文档讲解了如何设计符合Hibernate规范的Java类,包括POJO的实现、继承机制、equals()和hashCode()方法的重写,以及持久化生命周期中的回调。此外,XDoclet标记示例展示了如何利用注解简化映射过程。...

    Spring Security 3多用户登录实现之九 基于持久化存储的自动登录

    Spring Security可以与任何持久化框架(如JPA、Hibernate或MyBatis)集成,以从数据库加载用户信息。使用`JdbcUserDetailsManager`或者自定义的数据访问对象(DAO)可以实现这一功能。 4. **自动登录(Remember-Me...

    hibernate反向工程模板(已修改)

    在"hibernate反向工程模板(已修改)"中,我们看到的可能是针对特定项目或需求优化过的模板,如`pojo`目录下的实体类模板,`dao`目录下的DAO接口和实现模板,以及`hbm`目录下的持久化映射文件模板。 三、模板定制...

    高内聚,低偶合,OSWorkflow,Hibernate 持久化层的游离状态

    总的来说,高内聚、低偶合的原则贯穿于 OSWorkflow 和 Hibernate 的设计之中,前者通过灵活的工作流组件实现流程的动态配置,后者通过对象的状态管理确保了数据的持久化一致性。这两个概念都是软件设计中不可或缺的...

    微博系统Hibernate+strus2实现

    此外,Struts2还支持拦截器机制,允许自定义拦截规则,实现如权限验证、日志记录等功能,增强了应用程序的可扩展性和可维护性。 接着,Hibernate作为持久层框架,它简化了Java对象与数据库之间的交互。Hibernate...

    自定义 Hibernate Tools 的模板

    虽然Hibernate Tools内置了一些默认的模板,用于生成Java实体类、持久化映射文件(HBM XML)和DAO接口等,但这些模板可能并不能满足所有项目的需求。因此,了解如何自定义这些模板就显得尤为重要。通过自定义模板,...

Global site tag (gtag.js) - Google Analytics