Hibernate 2 升级为Hibernate 3 的注意事项
文章来源:转载 作者:seinbar 发表于:2006年11月07日
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1371812
1.首先将hibernate2.jar替换为hibernate3.jar(hibernate-3.0.5)
hibernate-tools.jar也替换成新的(从hibernate-tools-3.0.0.alpha4a找出来的)
2.将所有程序中的net.sf.hibernate替换为org.hibernate.
3.但是有例外
net.sf.hibernate.expression.Expression换为org.hibernate.criterion.Expression
如果用eclipse,用ctrl+shift+o快捷键可以加快速度
4.在使用hql查询时将
createSQLQuery(hql,"c",EZCampaignDTO.class);改为createSQLQuery(hql).addEntity("c",EZCampaignDTO.class);
5.在批量插入时
将原来的int size = ((SessionFactoryImpl)(session.getSessionFactory())).getJdbcBatchSize()
改为int size = ((SessionFactoryImpl)(session.getSessionFactory())).getSettings().getJdbcBatchSize();
6.在计算count时
将原来的int size = ((Integer) session.iterate(hql).next()).intValue();
改为int size = ((Integer) session.createQuery(hql).iterate().next()).intValue();
其中hql="select count(*) from " + DAOVar.contactClass;
7.还有就是把.hbm中的hibernate-mapping-2.0.dtd替换为hibernate-mapping-3.0.dtd
Hibernate Mapping DTD 2.0替换为Hibernate Mapping DTD 3.0
8.hibernate.cfg.xml中
Hibernate Mapping DTD 2.0替换为Hibernate Mapping DTD 3.0
org.hibernate.dialect.SQLServerDialect
9.hibernate.properties中类似
10.cache-config.xml中
替换为
11.classeshibernate.properties中
hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
hibernate.dialect=org.hibernate.dialect.SQLServerDialect
12.在自动外部模块部分有一个功能是根据模版自动生成.hbm文件在load,结果出来的.hbm中有问题:
生成的 其中mapped="false" 出错。找了半天才发现在网上的hibernate-mapping-3.0.dtd文件有支持mapped="false"这个属性。而本地的hebernate3.0.5中的hibernate-mapping-3.0.dtd文件没有这个属性。晕,hibernate也太不负责了吧。解决办法把hibernate-mapping-3.0.dtd copy到jbossbin目录下然后,在template文件中,然后他会在jbossbin目录下读取该文件。
13.重新测试,还是咣铛,发现子类读父类数据时抛出异常:
"org.hibernate.LazyInitializationException: could not initialize proxy"
延迟抓取出的错,hb3对many-to-one的默认处理是lazy = "proxy",没有搞懂到底怎么回事,把所有many-to-one,one-to-one都加上lazy="false",再测试终于大功告成。
分享到:
相关推荐
主要内容: 提供了一步一步的操作指南来将Struts2从2.3.30版本平滑过渡至2.5.12版本,Spring由4.2.2更新至4.3.9以及Hibernate进阶提升到5.2.11版本的具体路径和技术要点阐述。详细讲述了每个阶段所需更改的内容,比如...
**最佳实践与注意事项**: 1. 在整合过程中,注意各框架版本的兼容性,确保所有组件都能正常运行。 2. 为提高性能,应合理设计数据库模型,避免过多的N+1查询问题。 3. 使用注解配置可减少XML配置文件的复杂性,但也...
**注意事项** 在下载和使用这个整合版本时,确保检查所有组件的版本兼容性,因为不同版本之间可能存在不兼容问题。同时,阅读代码和文档以理解每个部分的作用,这对于理解和学习框架的整合至关重要。在实际项目中,...
`index.html`和`Readme.txt`可能提供了详细的使用指南和注意事项。`content.jar`和`artifacts.jar`可能是插件运行所需的库文件。 5. **开发实例与实战演练:** 通过创建一个新的Hibernate项目,实践从数据库逆向...
Struts2.3.16.3升级到Struts2.5.12注意事项(必须) Spring 4.1.2升级到Spring 4.3.10注意事项(必须) hibernate 3升级到hibernate5.2.9注意事项(必须) 最新SSH升级必备
- **注意事项**:例如避免使用过时或存在漏洞的版本,关注配置文件的安全性设置等。 - **插件介绍**:Struts2提供了丰富的插件支持,可以方便地实现各种功能需求。 ### Spring #### Spring框架简介 - **概念**:...
5. **实际应用中的注意事项**: - 数据库连接池:为了提高性能,通常会使用连接池(如C3P0、HikariCP),在Spring配置文件中配置。 - 错误和异常处理:Struts2提供了全局的异常处理机制,结合Spring的AOP,可以...
注意事项: 1、按照以下语法建立数据库(ProjectName为你的数据库名,可以改你自己想要的名字,改完请记得把项目中的数据库连接配置也改好) CREATE DATABASE ProjectName; CREATE TABLE Employees ( id BIGINT NOT ...
6. **注意事项**: 使用时需确保所有必要的jar包都已添加到类路径(classpath)中,否则可能会出现运行时错误。同时,由于版本间的兼容性和API变化,升级或降级Hibernate版本时,可能需要调整代码或配置。 7. **示例...
5. **注意事项** - **版本兼容性**:Hibernate 3.2.6 GA可能不兼容较新的JDBC驱动或Java版本,升级前需检查兼容性。 - **内存泄漏**:谨慎使用Session的openCriteria()和createCriteria(),避免导致内存泄漏。 - ...
此外,为了帮助开发者更好地理解和使用该版本,手册可能还会讲解与版本相关的配置问题、兼容性问题,以及在升级到该版本时需要注意的事项。 由于手册是针对Hibernate v3.2版本的,所以它还可能会包含该版本特有的...
四、最佳实践与注意事项 4.1 定期同步 为确保代码与数据库的一致性,建议在数据库更新后立即进行同步操作。 4.2 模板定制 根据项目需求,可以自定义模板以生成符合团队规范的映射文件和实体类。 4.3 数据库兼容性...
针对“struts2.3升级所需jar和升级步骤.zip”这个压缩包,我们可以理解为它提供了从旧版本的Struts2升级到2.3版本所需的JAR文件以及详细的升级流程。 在进行Struts2的升级时,首先需要了解升级的原因,通常是因为旧...
SSH框架,全称为Struts2、Hibernate和Spring,是Java Web开发中常用的一种集成框架,它结合了MVC(Model-View-Controller)设计模式、持久化管理和依赖注入功能,大大提高了开发效率和代码的可维护性。在这个项目中...
10. **文档阅读**:官方文档是升级过程中的重要参考,包含详细的升级指南和注意事项,例如Apache Struts官方文档的“Migrating from 2.3 to 2.5”章节。 通过以上知识点的学习和实践,开发者可以成功地将Struts...
4. **使用C3P0的注意事项**: - 必须在项目中引入C3P0的jar包,即`c3p0.jar`,否则会抛出找不到类的异常。 - 合理配置参数,避免过多或过少的连接造成资源浪费或应用阻塞。 - 监控C3P0的运行状态,及时调整参数以...
在此次更新中,我们看到的是Struts2的版本号为2.3.32,这是一个重要的安全性和功能性的升级。 **1. 安全性更新:** Struts2的每次版本迭代都会包含对已知漏洞的修复。例如,2.3.32可能修复了可能导致远程代码执行...
Spring Boot 升级从 1.3 到 1.4 的注意事项 在升级 Spring Boot 版本从 1.3 到 1.4 时,需要注意以下几个重要的方面。 Hibernate 升级 在 Spring Boot 1.4 中,Hibernate 版本从 4.3 升级到了 5.0。同时,...
【物业管理系统】是一个基于SSH2框架开发的应用,SSH2全称为Spring、Struts2和Hibernate2,是Java Web开发中的经典组合。这个系统的核心目的是为了高效管理物业公司的日常运营,包括租户信息管理、物业费用收取、...