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 是一款开源的对象关系映射(Object Relational Mapping,ORM)框架,它通过强大的 ORM 功能将 Java 对象与关系数据库中的数据进行映射。...
《精通Hibernate:Java对象持久化技术详解》这本书深入剖析了Hibernate这一流行的Java对象关系映射(ORM)框架,旨在帮助开发者全面理解并熟练掌握Hibernate的使用。Hibernate是Java开发中的重要工具,它简化了...
总的来说,这个自定义持久化层是一个实现了数据持久化的Java组件,其设计灵感来源于Hibernate,但可能根据特定需求进行了调整或简化。通过使用JDBC作为底层数据访问手段,它能够与多种数据库系统进行交互。对于学习...
`UserType`提供了对Java对象和数据库列之间转换的一系列方法,包括获取SQL类型的数组(`sqlTypes()`)、返回对象的Java类(`returnedClass()`)、比较两个对象的持久化相等性(`equals()`)、计算对象的哈希值(`...
《Hibernate持久化技术在J2EE框架中的应用》学习报告主要探讨了Hibernate这一对象关系映射(ORM)框架如何在J2EE环境中实现数据的持久化。Hibernate通过提供轻量级的JDBC封装,使开发者可以更专注于面向对象的编程,...
JPA(Java Persistence API)作为Java EE的一部分,提供了一种标准的方式来管理和持久化Java对象到关系数据库。Hibernate作为JPA的一个流行实现,进一步增强了其功能。然而,随着业务的发展,有时我们需要记录这些...
综上所述,这个项目展示了如何集成Hibernate、Servlet和自定义标签来构建一个功能完备的邮件系统,包括数据持久化、服务器端控制和用户友好的前端展示。这样的设计不仅提高了开发效率,也优化了用户体验。在实际开发...
HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...
**标题解析:** “hibernate-符合Java...这份“gz的资料库”中的Hibernate API文档将涵盖上述所有知识点,为开发者提供详尽的指导,帮助他们更好地理解和应用Hibernate框架,实现高效、便捷的关系数据库持久化操作。
在Java的持久化框架中,Hibernate是一个非常重要的工具,它提供了强大的对象关系映射(ORM)功能,使得开发者可以方便地在Java对象和数据库表之间进行数据操作。当我们需要执行一些特殊的、复杂的或者非标准的SQL...
4.7 自定义持久化实现 第5章 Hibernate高级特性 5.1 Hibernate持久化实现 5.2 Hibernate回调与拦截机制 5.3 Hibernate实用技术 第6章 Hibernate 实战——创建RedSaga论坛 6.1 目标 6.2 E-R建模还是对象建模 ...
在持久化类部分,文档讲解了如何设计符合Hibernate规范的Java类,包括POJO的实现、继承机制、equals()和hashCode()方法的重写,以及持久化生命周期中的回调。此外,XDoclet标记示例展示了如何利用注解简化映射过程。...
Spring Security可以与任何持久化框架(如JPA、Hibernate或MyBatis)集成,以从数据库加载用户信息。使用`JdbcUserDetailsManager`或者自定义的数据访问对象(DAO)可以实现这一功能。 4. **自动登录(Remember-Me...
在"hibernate反向工程模板(已修改)"中,我们看到的可能是针对特定项目或需求优化过的模板,如`pojo`目录下的实体类模板,`dao`目录下的DAO接口和实现模板,以及`hbm`目录下的持久化映射文件模板。 三、模板定制...
总的来说,高内聚、低偶合的原则贯穿于 OSWorkflow 和 Hibernate 的设计之中,前者通过灵活的工作流组件实现流程的动态配置,后者通过对象的状态管理确保了数据的持久化一致性。这两个概念都是软件设计中不可或缺的...
此外,Struts2还支持拦截器机制,允许自定义拦截规则,实现如权限验证、日志记录等功能,增强了应用程序的可扩展性和可维护性。 接着,Hibernate作为持久层框架,它简化了Java对象与数据库之间的交互。Hibernate...
虽然Hibernate Tools内置了一些默认的模板,用于生成Java实体类、持久化映射文件(HBM XML)和DAO接口等,但这些模板可能并不能满足所有项目的需求。因此,了解如何自定义这些模板就显得尤为重要。通过自定义模板,...