gpt4 book ai didi

google-app-engine - 访问 GAE 数据存储 : Use JDO, JPA 或低级 API?

转载 作者:太空宇宙 更新时间:2023-11-03 15:26:26 25 4
gpt4 key购买 nike

关于如何最好地访问 Google App Engine 数据存储有什么建议吗?通过 JDO、JPA 或 native API?

JDO/JPA 的明显优势是可移植到其他数据库引擎,但除此之外,还有什么理由不直接使用 Datastore API?

最佳答案

我对 JPA 了解不多,但我选择了 JDO,如果您是新手,我可以说它的学习曲线非常陡峭,并且有很多不适用于 GAE 的无关内容.你赢的是owned relationships,这允许您拥有相互实际引用的类,而不仅仅是数据存储区 ID。 JDO 也可以通过注解做一些有用的事情,例如@Element(dependent = "true") 注解,它可以为您节省大量工作,因为它允许您删除一个父对象,而 JDO 将删除它的所有子对象。一般而言,GAE 文档遗漏了很多您需要了解的有效使用 JDO 的内容,因此我认为阅读 datanucleus 文档至关重要,并特别注意获取组。

您还可以找到大量 JDO 和 JPA 的简洁示例,几乎可以解决所有可能的场景 here.

最后我会看一下 Objectify 和 Twig,这两个显然很流行的替代框架,在 question I asked 中提到过。当我也在尝试做出这个决定时。

附带说明一下,至于对其他数据库的可移植性,我认为担心 GAE 上的可移植性有点误入歧途。尽管 Google 希望我们认为 GAE 代码是可移植的,但我认为这是一个白日梦。您最终将针对 Google 提供的特定 API 组合进行编码,这种组合您可能在其他任何地方都看不到,并且还会围绕 GAE 的许多限制和特性进行编码,因此我会忘记可移植性作为解决问题的一个因素数据访问 API。事实上,如果我可以在这件事上重新做出决定,我想我会使用专门为 GAE 构建的数据访问框架,例如 objectify。

关于google-app-engine - 访问 GAE 数据存储 : Use JDO, JPA 或低级 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4232944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com