【问题标题】:What is spring data jpa and which orm framework does it use?什么是 spring data jpa 以及它使用哪个 orm 框架?
【发布时间】:2019-10-14 19:19:11
【问题描述】:

我正在做一个不使用 Hibernate 的项目,但我有疑问。它使用哪个orm框架,请提前告诉我。

【问题讨论】:

  • 它肯定支持hibernate和eclipselink。其他我不确定

标签: java spring hibernate orm spring-data-jpa


【解决方案1】:

JPA 是规范,而不是实现。所以只有 JPA 不起作用。 也许您的项目正在使用 spring-data-jpa。 spring-data-jpa 依赖休眠。

https://mvnrepository.com/artifact/org.springframework.data/spring-data-jpa/2.2.0.RELEASE

【讨论】:

    【解决方案2】:

    JPA 是一个规范,有几种实现方式(Hibernate、EclipseLink、...)。

    Spring Data JPA 是一个框架,它可以使用一个实现或另一个实现。

    如果你的项目没有使用休眠,它可能使用了 EclipseLink,你可以在你的 pom.xml 中找到它。如果您看到 Hibernate 排除:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    

    和 EclipseLink 依赖:

    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>org.eclipse.persistence.jpa</artifactId>
        <version>2.x.x</version>
    </dependency>
    

    它确认您正在使用 EclipseLink。

    来源:https://www.baeldung.com/spring-eclipselink

    【讨论】:

    • 我有一个疑问。我有一个一对一和一对多的映射,那么这个 spring data jpa 或 hibernate orm 谁来做?此处的示例代码:@ManyToOne(fetch = FetchType.LAZY, optional = false) @JoinColumn(name = "post_id", nullable = false) @OnDelete(action = OnDeleteAction.CASCADE) @JsonIgnore private Post post;
    • 映射是由谁 spring data jpa 或 hibernate 完成的?
    • 映射由 JPA 实现完成,即 Hibernate 或 EclipseLink
    • 映射由您或项目开发者完成。您用于执行此映射的注释来自您可以在“导入”部分中检查的包。这些大多是标准的 JPA 注释,但您可以混合一些特定的 hibernate 或 eclipselink 注释来获得一些特性。
    • 谁有 ORM spring data JPA 或 spring data JPA 只给出注释,即:@Entity?
    猜你喜欢
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    • 2019-01-30
    • 1970-01-01
    • 1970-01-01
    • 2016-08-28
    • 2014-06-01
    • 2011-06-18
    相关资源
    最近更新 更多