我有一个 Java + GAE + JPA 项目,我想引入 Objectify 框架以及我有 JPA,所以我的问题是:在我需要的情况下,是否可以将 JPA(EntityManager、JPQL 等)与 Objectify 结合起来? 有人有这样的经历吗?
我的意思是我想要一个 DAO 也可以使用 EntityManager 和 ObjectifyService 进行操作
我有一个 Java + GAE + JPA 项目,我想引入 Objectify 框架以及我有 JPA,所以我的问题是:在我需要的情况下,是否可以将 JPA(EntityManager、JPQL 等)与 Objectify 结合起来? 有人有这样的经历吗?
我的意思是我想要一个 DAO 也可以使用 EntityManager 和 ObjectifyService 进行操作
简单的答案是肯定的,您可以同时拥有两者。JPA 实体到 Objectify 实体的映射是“如您所料” - 字段具有相同的名称等。
如果您使用高级 Objectify 功能(如嵌入式类和多态性),它会变得有点复杂——但即使这些功能也可以在 JPA 中映射。Objectify 文档描述了这些功能的本机存储格式。
但是,请小心执行此操作。Objectify 对不连贯的数据非常宽容——在进行模式更改时这是一个方便的功能。但是,例如,如果您忘记向您的 Objectify 实体添加一个字段,然后使用 Objectify 加载/保存该实体,您将有效地“剥离”被遗忘的字段。必须小心维护并行实体类。
是的,你可以,但为什么呢?在从 JPA 过渡到 Objectify 的情况下,这是合理的,但我不会建议超出该范围的任何内容。