【问题标题】:Google App Engine JPA + ObjectifyGoogle App Engine JPA + Objectify
【发布时间】:2011-06-19 21:47:49
【问题描述】:

我有一个 Java + GAE + JPA 项目,我想引入 Objectify 框架以及我有 JPA,所以我的问题是:在以下情况下是否可以将 JPA(EntityManager、JPQL 等)与 Objectify 结合使用我需要它?有人有这样的经历吗?

我的意思是我想要一个 DAO,它也可以与 EntityManager 和 ObjectifyService 一起操作

【问题讨论】:

    标签: java google-app-engine jpa objectify


    【解决方案1】:

    简单的答案是肯定的,您可以同时拥有两者。 JPA 实体到 Objectify 实体的映射是“如您所料” - 字段具有相同的名称,等等。

    如果您使用高级 Objectify 功能(如嵌入式类和多态),它会变得有点复杂 - 但即使这些也可以在 JPA 中映射。 Objectify 文档描述了这些功能的原生存储格式。

    但是,请小心执行此操作。 Objectify 对不连贯的数据非常宽容 - 在进行模式更改时这是一个方便的功能。但是,例如,如果您忘记向您的 Objectify 实体添加一个字段,然后使用 Objectify 加载/保存该实体,您将有效地“剥离”被遗忘的字段。必须小心维护并行实体类。

    【讨论】:

      【解决方案2】:

      是的,你可以,但为什么呢?在从 JPA 过渡到 Objectify 的情况下,这是合理的,但我不会建议超出该范围的任何内容。

      【讨论】:

      • 我不会从 JPA 过渡到 Objectify,我只想同时使用两者,作为我使用 JPA 的初始解决方案,但这个 API 没有 Objectify 那样的便利设施,有时我需要使用 Objectify 提供的功能。
      • 我个人建议放弃 JPA;除了您的应用将更快地启动并使用更少的内存这一事实之外,IMO 将两者结合起来还存在一定程度的复杂性。
      猜你喜欢
      • 2012-08-02
      • 2014-08-09
      • 2012-05-05
      • 1970-01-01
      • 2016-03-25
      • 1970-01-01
      • 2012-06-14
      • 2012-03-04
      • 1970-01-01
      相关资源
      最近更新 更多