三阶段的相关hibernate版本间区别_第1页
三阶段的相关hibernate版本间区别_第2页
三阶段的相关hibernate版本间区别_第3页
三阶段的相关hibernate版本间区别_第4页
三阶段的相关hibernate版本间区别_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Hibernate 发布了 5.0 的第一个 Beta 版本,首个 Beta 版本实现了所有的新的 API和几乎所有新特性,值得关注的变化有:全新的启动 API 更好的检测机制和集成支持 Java 8 (虽然仍兼容 Java 6),只需添加 hibernate-java8 到类路径允许处理额外的 Java 类型作为 id 属性,可标识为 GenerationType#AUTO. 内建对 Number 和 UUID 类型的支持,可通过构建.hibernate.boot.m.IdGeneratorStrategyreter 进行扩展scanning 支持非 JPA 的使用方法NamingStrat

2、egy 被移除了,使用经过优化设计后的新API:.hibernate.boot.m.naming.ImplicitNamingStrategy 和.hibernate.boot.m.naming.PhysicalNamingStrategy此外,对 AttributeConverters 的支持进行了扩展:完全支持 non-Enumerated 枚举类型值支持 Nationalizedcalled to handle null valuessettable in hbm.xml byusing type=converter:fully.qualified.AttributeConverterN

3、ameegrated with hibernate-enverscollection values, map keys可通过。需要注意的是 Hibernate 5.0 兼容 Java 6,不过 Beta1 由于 JAXB 的原因无法在 Java6 下使用,目前还是要求 Java 7. 下一个版本提供对 Java 6 的支持。转 Hibernate3 和 4 版本的不同Java 框架hibernate4评论收藏ibernate4 的改动较大只有 spring3.1 以上版本能够支持,Spring3.1取消了 HibernateTemplate,因为 Hibernate4 的事务管理已经很好了,不

4、用Spring 再扩展了。这里简单介绍了 hibernate4 相对于 hibernate3配置时出现的错误,只列举了问题和解决方法,详细原理如果大家感兴趣还是去自己搜吧,网上很多。1、Spring3.1 去掉了 HibernateSupport 类。hibernate4 需要通过 getCurrentSes()获取 ses。并且设置.springframework.orm.hibernate4.SpringSesContext(在 hibernate3 的时候是 thread 和 jta)。2、缓存设置改为net.sf.ehcache.hibernate.EhCacheProvider.hi

5、bernate.caVXUV QK_# PJHI YKEYIXURRGHRKEXKYRZYKZ $LGRYK VXUV$ LUXGXJ JOXKIZOUT 需要设置 NOHKXTGZK 结果集滚动数据都会关闭 YKY。要想在 PYV 查询数据库需要加入: YVXOTMLXGSKUXQ UXS NOHKXTGZK YVVUXZ 5VKT9KYYOUT/TOK,ORZKX 过滤器。.OHKXTGZK 分页出现 8KYRZ9KZ SG_ UTR_ HK GIYKJ OT G 、MKZ)XXKTZ9KY 事务会自动关闭,所以在有所 PYV 页面查询方式改为:HKGT OJ# Z3GTGMKX IRGY

6、Y# YVXOTMLXGSKUXQ UXS NOHKXTGZK .OHKXTGZK:XGTYGIZOUT3GTGMKX $VXUVKXZ_ TGSK# YKY,GIZUX_ $XKLHKGT# YKY,GIZUX_ $ VXUVKXZ_$ HKGT$INK KNIGINK +N)GINK8KMOUT,GIZUX_ VXUV$ 、9VXOTM 对 NOHKXTGZK 的事务管理,不论是注解方式还是配置文件找到篇好文章,我之前遇到的问题都在这都能找到。其实出现这些问题的关键就是 hibernate4 和 hibernate3 出现了 sesspring 也作出相应的变动错误 1:管理的变动。jav

7、a.lang.NoClassDefFoundError:Provider/hibernate/cache/Cache原因:spring 的 seshibernate3 时不同。factory 和 tranionmanager 与支持解决:.property name=sesFactory ref=sesFactory/错误 2:java.lang.NoSu ethodError: .hibernate.Ses Factory. openSes ()L /hibernate/classic/Ses原因:hibernate4 之后,spring31 把 Hibernate Support 去除,包

8、括数据 都不需要hibernatetemplate,这意味着 需要改写,直接使用 hibernate 的 ses 和 query 接口。解决:为了改写,足足花了一天时间,然后一个个接口进行单元测试,这是的一个主要原因。错误 3:nested exception is .hibernate.HibernateException: No Se s found for current thread原因:发现一些 bean 无法获得当前 ses ,需要把之前一些方法的事务从 NOT_SUPPORT 到 required,readonly=true见,/topic/1120924解决:错误 4:与错误

9、3 报错类似,java.lang.NoSuethodError:.hibernate.SesFactory.openSes()L/hibernate/classic/Ses;GZ YVXOTMLXGSKUXQ UXS NOHKXTGZK 9KY,GIZUX_;ZORY JU-KZ9KY 9KY,GIZUX_;ZORY PGG AYVXOTM UXS 8+2+9+ PGX 8+2+9+CGZ YVXOTMLXGSKUXQ UXS NOHKXTGZK 9KY,GIZUX_;ZORY MKZ9KY 9KY,GIZUX_;ZORY PGG AYVXOTM UXS 8+2+9+ PGX 8+2+9+CG

10、Z YVXOTMLXGSKUXQ UXS NOHKXTGZK YVVUXZ 5VKT9KY/TOK,ORZKX原因:因为 UVKTYKYOTOK LORZKX 的问题,如果你的配置还是NOHKXTGZK ,需要改为 NOHKXTGZK LORZKX$LORZKX TGSK$UVKT9KY/TOK,ORZKX LORZKX TGSK$LORZKX IRGYY$ YVXOTMLXGSKUXQ UXS NOHKXTGZK YVVUXZ 5VKT9KY LORZKX$/TOK,ORZKX LORZKX IRGYY$ 由于 .OHKXTGZK 已经完全可以实现事务了, 与 9VXOTM 中的NOHKXT

11、GZK NOHKXTGZK:KSVRKZK 等有,所以 9VXOTM 里已经不提供 .OHKXTGZKYVVUXZ .OHKXTGZK:KSVRKZK 了,只能用.OHKXTGZK 原始的方式用 YKY SesSes在 basesesses= ses= sesFactory.openSes();Factory.getCurrentSesFactory 获取 ses();里可以用注入的 ses.注意, 配置事务的时候必须将父类 baseServiceImpl 也配上,要不然会出现错误:No Sesfound for currentthread, 以前是不需要的SesFactory.getCurr

12、entSes()的实现是可拔插的。因此,引入了新的扩展接口 (.hibernate.context.spi.CurrentSesContext)和新的配置参数(hibernate.current_ses_context_class),以便对“当前 ses”的范围和上下文(scope and context)的定义进行拔插。在 Spring Tranional式事务管理,”currentSes”的定义为: 当前被 Spring 事务管理器 管理的 Ses,此时应配置:.springframewohibernate.current_ses_context_class=rk.orm.hibernate4.SpringSesContext。此处一定注意 使用 hibernate4,在不使用 OpenSesInView 模式时,在使用 getCurrentSes()时会有如下问题: 当有一个方法list行为为 Supports

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论