记录一次Hibernate5换JPA的升级

一、项目背景

单体服务拆分微服务架构

二、框架情况

单体: spring、springmvc、hibernate5
微服务:springboot、JPA
从本质上来说JPA就是个壳,底层还是用的hibernate5。但是项目组要求用jpa的方式去改造微服务。

三、最大的问题

hibernate5和jpa的查询方式管理不一样了,导致原有单体的dao层数据想要复用的话需要改造。
hibernate5:session去操作sql.
jpa:使用EntityManager操作sql.

四、EntityManager

EntityManager能操作sql,那么就能获取session.最终通过EntityManager的unwrap去获取session即可。

五、获取session报错,说是没有事务。。。。。。

在方法上加了@transactional不起作用,后来在类上面加可以了@transactional

你可能感兴趣的:(Springboot,JPA,Hibernate,java,spring,boot,spring)