您的位置:首页 > 编程语言 > Java开发

关于spring升级到4.3.12 hibernate升级到4.3 遇到的一些问题和解决方法

2017-11-14 12:28 666 查看
起因 

       由于近段时间 项目又要用的elasticsearch
Fluentd, elasticsearch要基于环境jdk8  和原来的项目在一台设备 原来的项目用的jdk6  为了统一 所以借机生鸡。

遇到的问题

     连锁效应 jdk8 不兼容spring4之前的版本  spring4不兼容hibernate4之前的版本,巧的是,我用的都是老版本。

      版本兼容问题自己升级就可以了升级到不报版本兼容的问题,如果用了quartz的老版本,很高心也要升级。

     一下是我升级后的版本 ,只给出升级的包

hibernate-core  4.3.11.Final
quartz 2.3.0
spring.version   4.3.12.RELEASE
jackson-annotations 2.9.0
jackson-core 2.9.0


用maven hibernate升级后的包包含了annotations包。需要把hibernate-commons-annotations  hibernate-annotations 删除

解决方法
以下是我能回想到的  如果有遗漏还请见谅可评论补充。本想重现但是时间太短马上12.30了 要去吃饭了,下午还有更重要的事情,所以就此做简短的记录和分享。
1.配置文件中引用的包也需要修改为升级后的org.springframework.orm.hibernate4.LocalSessionFactoryBean ,org.springframework.scheduling.quartz.CronTriggerFactoryBean等
2.实体类删除@table 只用@entity(name="")     括弧hibernate4升级后的需要
3.hql语句中之前用的实体类名现在改为@entity中name的名字 例如:@entity(name=“log_user”) hql内应该用 from log_user ;
以上是我升级jdk8做的简短的总结  要去吃饭了 拜拜

猴急
嗯  过了一天  晚上在家看书 看到了jpa (Java Persistence API)Java持久层API,大概了解了一下和hibernate的关系。http://blog.sina.com.cn/s/blog_5f1619e80100yoxz.html
 这里讲的比较清楚一点。
早上  发现了下面这位同学的分享http://www.linuxidc.com/Linux/2016-04/130415.htm
然后我就恢复了原来的配置用@entity和@table(name=“”)两个,然后删除了ejb3-persistence.jar  更新了javaee-api 到7.0
接着就正常启动了。这里关键就像上面那个同学说的,是架包冲突,如果你的不是ejb3-persistence.jar
 自己可以找一下是不是有其他的javax.persistence.Table.class
感谢两位同学 还有其他爱分享的同学。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jdk spring hibernate