1,从Hibernate 3.0.x/3.1.x升级到最新的3.2版,一定要注意,3.2版的很多sql函数如count(), sum()的唯一返回值已经从Integer变为Long,如果不升级代码,会得到一个ClassCastException。
这个变化主要是为了兼容JPA,可以在hibernate.org的最新文档中找到说明。
Hibernate Team也提供了一个与原来兼容的解决方案:
Configuration classicCfg = new Configuration();
classicCfg.addSqlFunction( "count", new ClassicCountFunction());
classicCfg.addSqlFunction( "avg", new ClassicAvgFunction());
classicCfg.addSqlFunction( "sum", new ClassicSumFunction());
SessionFactory classicSf = classicCfg.buildSessionFactory();
或
int count = ((Integer)q.uniqueResult()).intValue();
改成 int count = ((Number)q.uniqueResult()).intValue(); 这样就可以两个版本同时兼容.
2,hibernate3.2要求ehcache1.2
3,session.createSQLQuery(sql).executeUpdate();这个hibernate3.0.5不支持,而hibernate3.2支持
session.createSQLQuery(fsql).addScalar("singlevalue",
Hibernate.DOUBLE).uniqueResult();这个到了3.2就不需要addScalar了.
4,session.createSQLQuery(sql).addEntity(Class class);hibernate3.0.5不支持,单个参数的addEntity方法
5,hibernate3.2可以对原生sql 查询使用ResultTransformer。这会返回不受Hibernate管理的实体。
sess.createSQLQuery("SELECT NAME, BIRTHDATE FROM CATS")
.setResultTransformer(Transformers.aliasToBean(CatDTO.class))
上面的查询将会返回CatDTO的列表,它将被实例化并且将NAME和BIRTHDAY的值注射入对应的属性或者字段。
http://bbs.xml.org.cn/blog/more.asp?name=lhwork&id=15351
分享到:
相关推荐
【hibernate3.2课件共31页.pdf.zip】这个压缩文件包含了关于Hibernate 3.2的详细教学资料,共计31页。Hibernate是一个非常重要的Java持久化框架,它简化了数据库操作,使开发者能够更加专注于业务逻辑而不是数据库...
Hibernate 3.2 是一个历史悠久但仍然非常重要的Java持久化框架版本,它为开发者提供了方便的...尽管现在有更新的版本,但Hibernate 3.2仍然是许多遗留系统的基础,理解其工作原理对维护和升级这些系统具有重要意义。
《Hibernate3.2指南》是针对Hibernate框架3.2版本的深入指导,旨在帮助开发者全面理解和掌握这一流行的对象关系映射(ORM)工具。Hibernate作为Java领域中最成熟、最广泛使用的ORM解决方案之一,其3.2版本在继承了...
标题 "ecside+struts2+spring2.5+hibernate3.2" 提及的是一个基于Java的Web开发框架组合,这个组合是企业级应用的常见选择,特别是对于那些需要强大持久层、业务层和表现层管理的项目。让我们逐一深入探讨这四个关键...
接着,将Struts 2.0和Hibernate 3.2的相关jar包添加到项目的lib目录下。接下来,需要在src目录下创建hibernate配置文件`hibernate.cfg.xml`,并进行相应的配置。 #### 三、Hibernate配置详解 ```xml <!DOCTYPE ...
Struts2.0、Spring2.5和Hibernate3.2是经典的Java企业级开发框架组合,被称为SSH架构。这个架构组合在2000年代末到2010年初非常流行,为大型企业级应用提供了强大的模型-视图-控制器(MVC)支持、依赖注入(DI)以及...
Struts2、Hibernate3.2和Spring2.5是Java Web开发中著名的SSH(Struts2、Spring、Hibernate)框架的三个核心组件。这组框架的整合为开发者提供了强大的MVC(模型-视图-控制器)架构支持,使得企业级应用的开发变得...
此书籍可以帮助读者了解升级到Hibernate3.2后的变化和新功能的使用方法。 四、Hibernate In Action 《Hibernate In Action 1.pdf》是一本权威的Hibernate教程,书中不仅详细讲解了Hibernate的核心概念和技术,还...
spring3.0+struts2.1.8+hibernate3.2完整jar包 ,保证非常全,放心下载使用。请使用struts2.1.8,如果你已经在学习2.1.6版本,并且遇到类似xwork的异常,导致tomcat无法正常启动,可将struts2.1.8和xwork2.1.6两个包...
本文将详细介绍如何在MyEclipse7.0环境下整合Spring2.5、Hibernate3.2以及JSF(MyFaces),并提供详细的步骤。首先,确认开发环境:MyEclipse7.0、JDK1.6以及Tomcat6.0。 **1. 创建Web Project工程** 创建一个新的...
【SSH整合详解】 ...不过要注意,随着技术的发展,Struts1.2和Hibernate3.2可能已经不再是最新的版本,考虑升级到更现代的框架,如Struts2、Spring Boot和Hibernate5,可以获取更多的功能和性能提升。
Struts2、Hibernate3.2和Spring2.0是Java Web开发中著名的三大框架,它们分别负责MVC(模型-视图-控制器)架构、对象关系映射(ORM)和依赖注入(DI)及应用上下文管理。这些框架的整合可以提供一个高效、灵活且可...
<br>翻译说明 本文档的翻译是在网络上协作进行的,也会不断根据Hibernate的升级进行更新。提供此文档的目的是为了减缓学习Hibernate的坡度,而非代替原文档。我们建议所有有能力的读者都直接阅读英文原文。...
这是一个基于Java技术栈的投票系统实现,主要使用了Struts2.0作为MVC框架,Hibernate3.2作为持久层框架,Spring2.5作为应用上下文和依赖注入框架,以及SQL Server 2005作为后端数据库。此外,项目还引入了JFreeChart...
SSH(Struts、Spring、Hibernate)是Java Web开发中经典的三大框架,它们分别负责MVC模式中的表现层、业务层和服务层。...在实际项目中,SSH的集成能够大大提高开发效率,减少重复代码,并且便于维护和升级。
Hibernate是一个开源的对象关系映射(ORM)框架,它在Java编程环境中广泛使用,极大地简化了数据库操作。在Java应用程序中,Hibernate...然而,对于已有的3.2.ga项目,维护和升级需要谨慎,以确保与现有代码的兼容性。
这些注解可以直接添加到实体类的字段上,或者在getter方法上,以控制验证的时机。 四、自定义校验 除了预定义的注解外,Hibernate校验还支持自定义验证注解和约束。通过实现`ConstraintValidator`接口,可以创建...
Hibernate v3.2是该框架的一个版本,它提供了一整套的机制将Java对象映射到数据库中的表,并且提供了数据查询和获取数据的方式。 Hibernate v3.2中文参考手册主要包含了以下几个方面的知识点: 1. 实体映射:实体...
NULL 博文链接:https://yongtree.iteye.com/blog/272293
8. **兼容性与升级**:在从较旧的 Hibernate 版本升级到 3.2 时,开发者需要注意可能存在的API变化和配置差异。例如,从3.2升级到3.4.0.GA,虽然主要功能保持一致,但可能会有新的特性加入和已知问题修复,需要查看...