什么是数据访问层中标准ORM的替代方案?

时间:2010-05-23 22:22:40

标签: orm data-access-layer

我们都熟悉关系数据库的基本ORM:一个对象对应一行,一个对象属于一个列,尽管许多ORM添加了很多花哨的东西。

我想知道还有什么其他选择(除了对数据的原始访问)。只使用关系数据库的替代方案会很棒,但是除了SQL(例如平面文件,RSS,NoSQL等)之外,可以使用多种类型的后端的替代方案会更好。我对想法更感兴趣而不是特定的植入以及他们使用的语言/平台,但请链接到您认为有趣的任何内容。

2 个答案:

答案 0 :(得分:2)

您的基本选择是:

  • 只需使用原始SQL。
  • 选择符合您需求的ORM。大多数平台都有多种选择。 - 例如,.NET平台支持LINQ,nHibernate,Entity Framework等。
  • 编写自己的ORM和/或数据访问框架。

答案 1 :(得分:1)

我正在或多或少地按照你说过的方式开展工作。我认为数据存储相关工具随着时间的推移变得越来越复杂,而不是更简单,更实用。

因此,为了增加复杂性,这类事情必须如此简单:

  1. 获取指向数据的内容
  2. 使用它对数据执行某些操作(查询或修改)
  3. 您用来与数据交互的东西应该对您正在使用和完成的数据存储进行某种(透明)调整。

    翻译的东西听起来有点像ORM,但我说的是更通用的东西:

    • 某种内部实现与您正在使用的任何内容进行通信(类似于JDBC驱动程序,但不需要使用SQL)

    • 某种将数据转换为java对象的映射(或多或少类似于ORM)

    我开发的这些概念的实现是针对java的,您可以在http://www.bryghts.com

    看到更多这些概念

    目前,我只为SQL相关数据源开发了一个引擎,但它已经为它的独立性做好了准备。