Ace*_*win 22 java spring spring-data spring-data-jpa spring-boot
这可能不是最好的问题,但我注意到Spring引导有2个Spring JPA.他们有什么不同.目前我正在尝试与hibernate一起设置SpringBoot 1.5.3项目.我记得我之前使用spring-boot-starter-data-jpa设置了Springboot和JPA.
我见过的大多数在线示例以及starter.spring.io都为spring jpa提供了以下依赖项.
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
但是在一个现有的项目中,我遇到了spring-data-jpa
<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-jpa</artifactId>
    <version>1.11.4.RELEASE</version>
</dependency>
做一些谷歌没有给我,如果他们是不同的.
在我之前的所有项目中,我添加JPA虽然是JPA 2.1/Hibernate,但这就是为什么我有点不确定在我的新SpringBoot应用程序中使用哪两个.
Art*_*kov 28
如文档中所述,starter对于此特定库,所有必需的依赖项都是一个方便的内联函数,即包含其他依赖项本身,而不是手动编写它们.
查看spring-boot-starter-data-jpa pom.xml,您将看到它包含spring-data-jpa在许多其他人之间的依赖关系.
Spring Boot Starters是一组方便的依赖描述符,您可以在应用程序中包含这些描述符.您可以获得所需的所有Spring和相关技术的一站式服务,而无需搜索示例代码并复制粘贴的依赖描述符.例如,如果您想开始使用Spring和JPA进行数据库访问,只需在项目中包含spring-boot-starter-data-jpa依赖项,您就可以开始使用了.
小智 7
在此处检查 spring-boot-starter-data-jpa 的 pom.xml: https: //github.com/spring-projects/spring-boot/blob/master/spring-boot-starters/spring-boot-starter-data -jpa/pom.xml
阅读描述标签,其中写着:“Starter for using Spring Data JPA with Hibernate”。
因此 spring-boot-starter-data-jpa 使用 Spring Data JPA 和 Hibernate 作为实现。可以说,这是硬编码的。
如果您现在检查 spring-data-jpa 的 pom.xml,它与实现无关。要在任何项目中使用 Spring Data JPA,必须提供要使用的实现。不这样做会给你一个错误。
Spring Data JPA 文档指出它当前支持 Hibernate 5、(Apache) OpenJPA 2.4 和 EclipseLink 2.6.1。阅读此处:https ://docs.spring.io/spring-data/jpa/docs/current/reference/html/#new-features.1-10-0
| 归档时间: | 
 | 
| 查看次数: | 18021 次 | 
| 最近记录: |