【问题标题】:difference between SDO and JDO in javajava中SDO和JDO的区别
【发布时间】:2025-12-09 01:05:02
【问题描述】:

Java中的JDO(JSR 243)和SDO(JSR 235)有什么区别;哪些开源提供程序可用于这些 Java 规范

【问题讨论】:

标签: java jdo sdo


【解决方案1】:

来自this article

[...] JDO 着眼于持久性 仅发布 [...] 而 SDO 更通用,代表可以流动的数据 在任何 J2EE 层之间,例如在演示和业务之间 层。

EclipseLink 是一种 SDO 提供者,Apache's DB project 是一种 JDO 实现。

【讨论】:

  • 我可以使用 SDO 实现 JDO 可以实现的所有功能吗?
  • 更正:Apache JDO 项目包括 JDO 的 API 和 TCK。它没有实现。 DataNucleus 是 JDO 2、2.1、2.2 和 3.0 的“参考实现”
  • 啊,我明白了。但是,不幸的版本编号; 3.0 版实现了 3.1。 2.1 支持 3.0。 1.0 支持 2.2。 叹息
  • @Dave 如果它刚刚实现了 JDO,那么我完全同意 ;-)
【解决方案2】:

对于摘录,您可以阅读 JDOSDO 的相应 JSR 页面上的“请求”部分。

在实践中和快速入门:JDO 是 JPA 之父。

  • JPA 实际使用和可用(这在 Java EE 世界中并非理所当然),Hibernate 和 EclipseLink 是 JPA 的两个众所周知的开源实现。

  • SDO:我从未在我参与过的任何项目中看到它,到目前为止我也没有听说过它。阅读 JCP 页面上的 Blurb 让我觉得这是不是为现实生活设计的那些过于笼统和笨拙的 Java EE 标准之一。

在深入研究 JPA 的同时暂时忽略 SDO。

【讨论】: