例如,可以休眠处理CouchDb?

什么有关支持其他OO数据库,在其他欧姆的解决方案?

一个(不重要)的好处的一个对象的方案是可能的能力,以交换一个数据库供应商另一个。什么如果你换一个关系数据库,用于一个面向目标的一个吗?

有帮助吗?

解决方案

  

如果你换一个关系型数据库的面向对象呢?

我觉得这应该是可能的JDO。其实,在我的记忆中,JDO的阐述和OODMBS厂商的推动,我看这个标准作为一种统一的方式与面向对象数据库交互(与主计划是在两个步骤:首先,尊敬的客户,用我的JDO为实现持久的,然后的尊敬的客户,我的Versant数据库替换您的Oracle /的Sybase /不管数据库的)。

但我不会限定JDO为“ORM”,它更透明的对象持久标准(可作为ORM工具起作用当存储系统是一种关系 - 在ORM将R - 数据库)。

其他提示

"什么有关支持其他OO数据库,在其他欧姆的解决方案?"

对象关系映(奥姆)是解决这个问题。

  1. 对象的节目。

  2. 一个关系数据库。

除非你有两个部分(OO程序、关系数据库)不能使用对象是因为你没有问题。

如果你写的C节,则不能使用对象--你没有任何的对象的地图。

如果你不使用一个关系数据库,则不能使用对象--你没有任何关系数据库的地图。

没有必要对格林有象数据库.有没有解决的问题。

我的理解(这里的“可能是错的”通常警告)是ORM解决方案没有工作,面向对象的数据库,面向对象数据库中删除了ORM解决方案的需求。

在一般情况下,一个ORM用于帮助抽象关系模型,并且从代码关系模型到面向对象的系统的失配的逻辑抽象掉。它还允许那些经常需要遗留系统继续工作传统数据库的使用,但给你的自由来处理一个面向对象的方式的关系。

在抽象是真正的好处,伊莫使用ORM的。交换数据库厂商并不容易,因为有些人会做出来是特别为您从或像甲骨文,那里有很多的JDBC驱动程序自定义操作和自定义行为的一个数据库的切换。

你的问题的另一个因素是,这是不可能的,你可能需要使用相同的基线数据库模型从关系数据库到面向对象的数据库。我认为,这样的模式转变会建议,如果没有要求,底层核心系统的逻辑和连接行为的重新思考。

在“R”,在“ORM”代表“关系”,所以我不认为它们适用于ODBMS都做。

使用一个对象数据库的全部要点是能够持续对象。如果你有,你有什么需要映射?

我觉得那种交换由具有持久性接口的实现无关你谈论的是完成的。如果你能做到这一点,你可以换出关系和对象数据库。也许是这样的:

package persistence;

import java.io.Serializable;
import java.util.List;

public interface GenericDao<T, K extends Serializable>
{
    T find(K id);
    List<T> find();
    List<T> find(T example);

    K save(T instance);
    void update(T instance);
    void delete(T instance);
}

使用JSON,这取决于你的语言,很容易与类实例的工作。

IMHO一个ORM是从只使用JSON序列对象,并将它们推到聪明足够使用JSON作为它们的存储格式的任何的NoSQL数据库倒退。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top