2010-03-05 53 views
1

我对数据库开发一般都很陌生,以前从未使用过ORM。我对使用它的好处感兴趣,特别是节省编写样板SQL查询的时间。我想使用ORM来开展我目前正在开发的项目,但我不确定它适用。是否适用于非CRUD数据库的ORM?

这个项目更像是改变非常小(< = 500个字符)的文件跟踪。我需要跟踪多个用户所做的修改和分类。不是真的看到他们做出的具体变化,而是看到用户是否同意。我使用这个SQL数据库(而不是实际的文档控制)的几个原因:

  1. 这些文件是非常小的;我只对字符串感兴趣,而不是真的在文件
  2. 我想执行对为发展目标数据即席查询的功能,并没有通过中途想要一个感到不高兴的特定文档控件包不能做我想要的。

从我读过的大部分内容看来,您似乎需要从对象的列到数据字段的直接映射才能使用ORM。我现在所拥有的甚至没有接近这个。要在编辑的不同阶段创建表示文档的对象,我必须以不同的组合方式拼凑来自不同表格中列的数据。

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

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

谢谢。

回答

1

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

2

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

而且如果它可以在一个被添加到现有的 应用/数据库?

0

我认为ORM(我会建议使用JPA标准,可能与Hibernate作为供应商)可能适合你的项目。

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

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

相关问题