ORM是否适用于非CRUD数据库?

时间:2010-03-05 21:52:38

标签: database orm

我对数据库开发很新,我以前从未使用过ORM。我对使用它的好处感兴趣,特别是节省编写样板SQL查询的时间。我想将ORM用于我正在进行的项目,但我不确定它是否适用。

此项目更类似于非常小(<= 500个字符)文档的更改跟踪。我需要跟踪多个用户所做的编辑和分类。不是真的看到他们做出的具体改变,而是更多地看看用户是否同意。我正在使用SQL数据库(而不是实际的文档控制),原因如下:

  1. 文件很小;我只对字符串感兴趣,而不是真正感兴趣的文件
  2. 我希望能够针对开发目的对数据执行即席查询,并且不希望在特定文档控件包无法完成我想要的操作的过程中出现令人不快的惊讶。
  3. 从我读过的大部分内容来看,您似乎需要从对象的列到数据字段的直接映射才能使用ORM。我现在所拥有甚至没有接近这一点。要创建表示编辑不同阶段的文档的对象,我必须以不同的组合拼凑不同表中列的数据。

    所以我的问题是:像Hibernate这样的ORM是否适用于这种类型的项目?如果可以,可以将其添加到现有的应用程序/数据库中吗?

    如果它有所不同:我正在使用Java,MySQL和JDBC。 Web应用程序用户可以使用GWT进行编辑,并通过Tomcat6托管。如果我需要它,我可以完全控制网络服务器。

    感谢。

3 个答案:

答案 0 :(得分:2)

  

像Hibernate这样的ORM是否适用于   这类项目?

  

如果可以,可以添加一个   现有的申请/数据库?

答案 1 :(得分:1)

我的观点是,ORM工具可能对您有用,但您真的需要深入研究它以便自己查看。请记住,当您使用ORM工具时,您不必仅使用它来连接到您的数据库。对于将数据存储在非常类似对象结构中的应用程序,ORM工具通常最有意义。例如,您的用户代码可能是开始的地方。通常,您一次只创建1个用户,一次编辑1个用户,检查是否有1个用户登录。对于您将返回Order Order等结果列表的内容也很有意义。我遇到ORM工具问题的地方就是当你有复杂的数据需要多个连接时,特别是回到你开始使用的表。对于那些情况,你可能想继续做你正在做的事情。总的来说,ORM工具很棒,但它们就像软件开发中的许多其他东西一样。在代码的一小部分上尝试使用它们,并在它们工作的地方使用它们,而不是在它们不工作的地方使用它们。最终,你是那个必须处理和维护你所做的事情的人。只是自学Hibernate,我相信你会知道该怎么做!

答案 2 :(得分:0)

我认为ORM(我建议使用JPA标准,可能以Hibernate作为提供者)可能适合您的项目。

正如您所说,数据库列直接映射到对象字段是相当传统的。如果你需要保留现有的数据库结构(显然不能很好地映射到你的对象),那么你可能会发现使用ORM比使用ORM更麻烦。

虽然使用ORM映射到特定的数据库模式当然是可能的 - 也许是因为它被其他系统使用 - 我认为ORM的一大优势是你几乎可以忽略模式。一旦你设计了你的对象,并告诉hibernate它们,hibernate将创建它需要的任何表。