【问题标题】:Is "lazy loading" feature of orm or jpa?orm或jpa的“延迟加载”功能?
【发布时间】:2019-10-11 09:13:36
【问题描述】:

我已经开始学习JPA for spring application了。

我看到了“Spring-Data-JDBC”项目,它描述了“JPA 提供了延迟加载、缓存和脏跟踪等功能”。

问题来了。

延迟加载、缓存和脏跟踪等功能是否仅存在于 JPA 中?不在 ORM 中?

关于 JPA 的发现:

我找到了这个答案“JPA 只是一个规范,而不是 ORM 工具。JPA 是一组类和接口,可帮助您的 ORM 工具根据 JPA 标准映射 O-R。您可以使用 Hibernate、TopLink/ EclipseLink 等在您的应用程序中实现 JPA。”来自知乎。

但他们没有提到这个功能。

【问题讨论】:

    标签: java jpa orm


    【解决方案1】:

    JPA 指定延迟加载和急切加载。 JPA 实现者必须实现这些以符合 JPA。

    但是在创建规范时使用了现有的实现,因此很多功能已经存在并且基于它们包含在规范中:

    Gavin King 创立了 Hibernate 项目。他在 JSR 上代表 JBoss 220,负责开发 JPA 的 JCP 专家组。 ... 太阳 Microsystems 表示想法来自多个框架, 包括 Hibernate 和 Java 数据对象

    【讨论】:

    • Hibernate 是 JPA 的 RI 吗?我还以为是 EclipseLink。
    • @Slaw 你是对的,而不是参考实现。我的意思是说 Hibernate 被用作许多规范的基础。澄清了答案。
    猜你喜欢
    • 2014-03-06
    • 2011-12-20
    • 2011-10-02
    • 2021-02-04
    • 2011-07-27
    • 2011-11-18
    • 1970-01-01
    • 1970-01-01
    • 2019-04-28
    相关资源
    最近更新 更多