【问题标题】:Fast, simple-to-learn and POJO-friendly ORM for Java? [closed]用于 Java 的快速、易于学习和 POJO 友好的 ORM? [关闭]
【发布时间】:2011-03-30 17:23:58
【问题描述】:

你能推荐我符合标题要求的ORM吗?

行业的标准当然是 Hibernate,但它太棒了,我不确定我是否能在几天内掌握它。或者我可以吗?

最好通过注解来配置,而不是 XML(手工写 XML 很无聊,不是吗?)。

实际上,我所需要的只是方便地发出 CRUD 查询。也许,我可以使用简单的 JDBC 和类,但项目最终会增长,这意味着应该一次又一次地完成更繁琐的工作。不想做任何无聊的事情,一遍又一遍地编写相同的 CRUD ;)

快速意味着至少不会比其他服务器慢几倍,因为它将为服务器供电,这将协调一些分布式计算,并且每分钟可能会有数千台 PC 运行它。

简单易学意味着简单的第一步教程,因为它不会超过 5 页的文本,也不会时不时地进入 ObjectDispatcherizationStrategyMubleHuble 之类的内容;)

【问题讨论】:

  • 实际上,ObjectDispatcherizationStrategySingletonObjectDispatcherizationStrategyMubleHuble 好很多。 MubleHuble 模式现在有很多争论,所以远离它是明智的。

标签: java orm


【解决方案1】:

我将投票支持我的 ORMLite 软件包,我设计它是为了简单地替代 iBatis 和 Hibernate。它与注释一起工作,并具有简单的 DAO 类层次结构。有很多文档,包括 HTMLPDF。这是how to get started的部分。

还有一些working examples 可以开始使用 JDBC 或 Android 操作系统:

【讨论】:

  • 支持oracle 11g 吗?
  • 我没试过@kaushik。不确定。您可以在用户邮件列表中提出该问题。
【解决方案2】:

我认为简单的 CRUD 可以在几天内使用 Hibernate,除了 1:m 和 m:n 关系引入的复杂性、延迟加载、事务的打开会话等。

这假设您有一个要映射到的实体对象设计。如果你不这样做,你就错过了 ORM 中的“O”。

我认为 iBatis 可以成为 JDBC 和成熟的 ORM 之间的一个很好的中间步骤。看看吧。

【讨论】:

    【解决方案3】:

    Java Persistence API (JPA) 是用于 Java 的“官方”Sun/Oracle ORM。它在很大程度上基于 Hibernate,但功能集更有限,所以我认为这更容易学习。它也是基于注解的(数据库连接通常只有一个 XML 文件)。

    JPA 的实现不止一种:OpenJPAEclipseLinkHibernate 是一些众所周知的实现;我使用 Hibernate JPA 实现,因为当 JPA 不能满足我的要求时,我可以使用 Hibernate 特定的扩展。

    此外,Sun JPA 教程只有五页 :-) http://download.oracle.com/javaee/6/tutorial/doc/bnbpz.html

    【讨论】:

      【解决方案4】:

      MyBatis(正式名称为 iBATIS)如果您正在寻找轻量级且易于学习的东西,绝对是 Hibernate 的一个很好的替代品。

      【讨论】:

      • 我在图书馆中真正讨厌的是纯 PDF 文档;)但我会反对这种态度;)
      【解决方案5】:

      看看persist - https://github.com/rufiao/persist

      MicroORM - 非常轻量且有效。

      【讨论】:

        【解决方案6】:

        我知道你所说的 Hibernate 是什么意思。 Hibernate 可以做所有事情,但对于不需要一切的人来说可能是一个巨大的学习曲线。我为您描述的情况编写了一个替代方案:www.sormula.org。简单的学习曲线、POJO 友好、开箱即用的 CRUD。

        【讨论】:

          【解决方案7】:

          以下是使用 POJO 简化 CRUD 操作的工具的非详尽选择:

          基于 JPA:

          专有:

          • jOOQ - 除了 CRUD 支持之外,该库还提供用于查询构造的 DSL
          • ActiveJDBC - 这个库深受 Ruby 的 ActiveRecords 的启发
          • Ebean - 这个库以集成在 Play 框架中而闻名

          【讨论】:

          • 你为什么称jOOQ为“专有”?我认为这个词令人困惑。这听起来像是“商业许可”,虽然我可能错了(英语不是我的母语)。
          • @FractalizeR:1. 很快就会有 jOOQ 的商业许可(双许可 ASL/商业),2. 专有,因为我拥有它。这与它是“开源”和“免费”无关。标准和规范(例如 JPA)通常是“公共领域”,由基金会管理。例如,由 Apache 软件基金会管理的软件也是如此,维护者通常不是真正的唯一所有者。 jOOQ(或 ActiveJDBC、Ebean)并非如此
          猜你喜欢
          • 2011-05-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-04-09
          • 2010-09-21
          • 2011-03-16
          • 1970-01-01
          • 2022-01-15
          相关资源
          最近更新 更多