1、JPA是什么
JPA是官方提供的ORM规范,简单来说就是处理我们的java对象如何以数据库记录的形式存储到数据库中。Hibernate是JPA的一种实现,意思就是Hibernate是按JPA规范实现的一个工具库,Hibernate基本上是事实上的标准。
除了JPA,还有一个主流的方案就是使用mybatis,这两种孰优孰劣,业界一直在争吵,本人一直是JPA的拥护者,因为JPA用起来简单,碰到复杂的情形,我们一样可以使用原生sql来解决,这里不做过多讨论,我们使用JPA来完成我们的入门教程。
2、添加spring-boot-starter-data-jpa依赖
3、添加实体,Repository扫描注解
EntityScan表示扫描带有Entity注解的JPA实体,EnableJpaRepositories扫描带有Repository注解的DAO类。如果basePackages为空,则会取启动类所在的包路径作为根路径。这里我们所有的实体和DAO只要都在com.cangzhitao包或者及其子包下都能正常扫描到。
4、测试
启动应用
看到上面的日志,表示我们JPA正常初始化成功了。
启动有个警告:spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
意思是spring.jpa.open-in-view属性被默认启用,让我们手动配置这个属性,从而去掉这个警告。open-in-view是指我们延时加载的一些属性数据,可以在页面展现的时候,保持session不关闭,从而保证能在页面进行延时加载。这里我们在配置文件暂时启用这个配置项。
再次启动,我们的警告消失了。
代码:
https://github.com/www15119258/springboot-study/tree/branch04
网友评论