【问题标题】:Is there a java implementation of the ActiveRecord pattern that is built on top of Hibernate, similar to Castle Windsor? [closed]是否有构建在 Hibernate 之上的 ActiveRecord 模式的 java 实现,类似于 Castle Windsor? [关闭]
【发布时间】:2010-10-11 06:26:57
【问题描述】:

我正在寻找建立在 Hibernate 之上的 ActiveRecord 模式的 Java 实现。

在.Net 中有一个开源项目Castle Windsor ActiveRecord,它在NHibernate 之上实现了ActiveRecord 模式。

我正在寻找类似的东西,除了位于 Java 的 NIBerate 持久性框架之上。

【问题讨论】:

  • 我喜欢这个问题被标记为不高效但又增加了 10 分的方式

标签: java hibernate orm activerecord


【解决方案1】:

我发布了一个名为 ActiveJDBC 的项目:http://javalite.io/。这就是你要找的东西

【讨论】:

  • 不支持预先加载多级关联。对我来说,这是一个很大的禁忌。
  • 它确实支持多级关联,并且它确实支持一种预加载形式,但是,在现代 web 应用程序中,您不想这样做
  • 你能举个例子来说明怎么做吗?我找不到文档,LazyList#include 方法的文档明确指出“此方法不会遵循相关模型,而只会遵循当前模型的关系。”
  • @Aetherus,这是正确的,急切加载仅向下一层,您需要指定它。想象一下,您正在拉动用户和他们的角色 - 如果确实加载急切,它会绕着圈子走,直到加载所有用户和所有角色,哈哈。无论如何,急切加载都有它的位置,无论如何我个人都不喜欢它在网络应用程序中。如果你愿意,你可以在这里打开一个问题:github.com/javalite/javalite/issues 并提供更多信息,以便我提出更好的建议。
【解决方案2】:

Scooter Framework 有一个与 Ruby on Rails 非常相似的 ActiveRecord 实现:http://www.scooterframework.com/

【讨论】:

    【解决方案3】:

    实际上,我一直在研究类似 AR 的 Java 框架,第一篇博客: http://igorpolevoy.blogspot.com/ 干杯, 伊戈尔

    【讨论】:

      【解决方案4】:

      我会说GORM is a better pattern for using with Java that ActiveRecord。 ActiveRecord 最终需要比 GORM 更多的工作和更多的编码。据我所知,Django 遵循 GORM 模型而不是 AR 模型,因此该模型可能值得研究,特别是考虑到 Java 可能不会像 Ruby 那样适用于动态 getter 和 setter(除非你开始钻研动态生成字节码,但你的编译器和 IDE 不太喜欢那样)。

      【讨论】:

        【解决方案5】:

        好吧,Grails 中的 GORM 不能与 Grails 分离——至少在 1.1 版发布之前。坦率地说,GORM 和 AR 之间几乎没有区别(例如:在 Grails 中,您对域对象进行建模,而 GORM 将推断数据库结构,而在 AR 中,一方面有表,另一方面有对象) . 哦,还有一个区别是 GORM 有很多怪癖。注意我没有说错误...

        不管怎样,这里还有一篇关于 stackoverflow 的类似帖子,可能涵盖了您所追求的内容:Is there an implementation of the ActiveRecord pattern in Java like the one from Ruby?

        干杯,

        罗洛

        【讨论】:

          【解决方案6】:

          Groovy / Grails 中的 GORM?

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-04-09
            • 1970-01-01
            • 2023-03-12
            • 2015-08-20
            • 2010-09-24
            • 1970-01-01
            • 2011-01-08
            • 1970-01-01
            相关资源
            最近更新 更多