hibernate源码(2)--- springboot-jpa是如何引入的

starter引入

要想看jpa是如何将hibernate引入容器,首先要看的是 spring-boot-starter-data-jpa 如何引入依赖:
hibernate源码(2)--- springboot-jpa是如何引入的_第1张图片
如果注意的话,starter的包内容其实没有什么实质的内容,关键是pom里的依赖
hibernate源码(2)--- springboot-jpa是如何引入的_第2张图片
pom中规定了各依赖和依赖的版本,能有效地解决兼容性问题。

入口

代码跟踪看,初始化是通过springboot初始化的refresh方法引入
hibernate源码(2)--- springboot-jpa是如何引入的_第3张图片
LocalContainerEntityManagerFactoryBean AbstractEntityManagerFactoryBean buildNativeEntityManagerFactory
hibernate源码(2)--- springboot-jpa是如何引入的_第4张图片hibernate源码(2)--- springboot-jpa是如何引入的_第5张图片
也就是在这里,从springjpa过渡到hibernate进行entityManagerFactory的创建。org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl#build
完成sessionFactory的创建。

你可能感兴趣的:(spring,boot,hibernate,后端)