GAE 是否仅适用于 BigTable(或其他数据库)?

发布于 2024-11-04 18:51:27 字数 196 浏览 6 评论 0原文

我想用 SPRING ROO 在 GAE 上做一个非常简单的应用程序。

我不明白 Hibernate 和 JPA 之间的区别(持久性?),但我想知道为我的(“安全”)应用程序推荐什么,该应用程序将在 GAE 上运行...

换句话说,您建议我使用 BIGTABLE + HIBERNATE + JPA(这是最佳实践)吗?

tkx,

I want to do a quite simple application on GAE with SPRING ROO.

I do not understand the difference between Hibernate and JPA (persistance ?) but I would like to know what is recommended for my ('secure') app that will works on GAE...

In other terms, do you recomend me to use BIGTABLE + HIBERNATE + JPA (is it a best practice) ?

Tkx,

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

刘备忘录 2024-11-11 18:51:27

您将无法在 GAE 上使用 Hibernate。 Hibernate 只能在关系数据库之上使用。如果您想使用 JPA,请使用 GAE 上可用的、基于 DataNucleus 的实现。请参阅 http://code.google.com/ intl/fr/appengine/docs/java/datastore/jpa/overview.html 了解详细信息。

请注意,由于 GAE 数据存储的限制,JPA 所能实现的一切在 GAE 上都无法实现。

You won't be able to use Hibernate on GAE. Hibernate is only usable on top of a relational database. If you want to use JPA, then use the implementation available on GAE, and based on DataNucleus. See http://code.google.com/intl/fr/appengine/docs/java/datastore/jpa/overview.html for details.

Note that everything possible with JPA won't be possible on GAE, due to limitations of the GAE datastore.

老子叫无熙 2024-11-11 18:51:27

GAE 仅适用于 BigTable(又名数据存储区,请参阅数据存储区概述)。它提供了各种 API:从“原生”低级 API 到“本地”高级(JDO 和 JPA)。介于两者之间的第三方 API 包括 Objectify、Twig 等。我建议仔细研究它们。除此之外,您还有专门的 API,例如 Blobstore API

对于 Hibernate 和 JPA,它们都是可以与大多数关系数据库一起使用的 API,但 Hibernate 也是一种实现 - JPA 不是。 JPA 需要一个实现,Hibernate 是最常见的实现之一。当您使用 GAE 时,您可以完全忘记 Hibernate(它不可用)。还要忘记由于数据存储的非关系性质而不受支持的大多数 JPA 功能。

GAE JPA 使用旧版本的 DataNucleus 实现。此引用来自 DataNucleus 社区页面

Google App Engine (TM) 平台
提供 Java 持久性(JDO 或 JPA)
使用 a 到其 BigTable 数据存储
datanucleus-appengine 插件。这
插件是由 Google 开发的
他们的责任。目前它
仅适用于 1.1 版本
DataNucleus 似乎不是
积极开发。

看看第三方 API 会是一个提示......

GAE works only with BigTable (aka datastore, see Datastore Overview). It offers variety of APIs: from "native" low-level API to "native" high-level ones (JDO and JPA). Third-party APIs that lie somewhat in between are Objectify, Twig, etc. I recommend giving them very close look. On top of that you have specialized APIs such as Blobstore API.

In case of Hibernate and JPA they are both APIs you may use with majority of relational databases, but Hibernate is also an implementation - JPA is not. JPA needs an implementation and Hibernate is one of more common ones. When you use GAE you can completely forget about Hibernate (it's not available). Also forget about majority of JPA features as not supported due to non-relational nature of datastore.

GAE JPA uses older version DataNucleus implementation. This quote is from DataNucleus community page:

Google App Engine (TM) platform
provides Java persistence (JDO or JPA)
to its BigTable datastore using a
datanucleus-appengine plugin. This
plugin was developed by Google and is
their responsibility. It currently
only works with version 1.1 of
DataNucleus and doesn't seem to be
actively developed.

Would be a tip to look at third-party APIs...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文