【问题标题】:Super light weight java persistence layer needed [closed]需要超轻量级Java持久层[关闭]
【发布时间】:2012-01-09 23:02:08
【问题描述】:

我需要一个超轻量级的持久层用于我正在编写的 Java 应用程序。我需要它成为一个独立的应用程序,到目前为止我已经玩过 Ammentos & Persistence4J。我都喜欢它们(尤其是 Ammentos),但我在网上找不到太多关于这两个或任何其他持久层的想法,你认为这些持久层很容易用 mysql db 部署。

我过去只使用过休眠,所以我正在寻找一种替代方案,它只允许我进行简单的保存和检索。不需要支持任何复杂的查询。

【问题讨论】:

    标签: java persistence data-persistence


    【解决方案1】:

    所有这些工具都是非常轻量级的 JDBC 包装器,无需添加任何 ORM / ActiveRecord 功能:

    这些工具添加了一些与 ORM / ActiveRecord 模型相关的附加功能,因此轻量级有所降低:

    这些还具有用于类型安全 SQL 构造的流式 API:

    【讨论】:

      【解决方案2】:

      别忘了OrmLite

      不过,请确保您完全需要 ORM。

      编辑以回复评论

      对于简单的 Java 项目(现在很少见),我通常不会使用 ORM,但有时仍会使用 Commons BeanUtils' RowSetDynaClass。这会包装查询结果并允许使用普通 BeanUtils copyProperties-type 方法复制到域对象。

      【讨论】:

      • +1 - 如果没有要映射的对象,则不需要 ORM。
      • Dave,我正在尝试使用 ORM,因为我已经有许多业务对象,并且我想抽象持久性/查找,而不必管理其背后的 sql 代码。另外,我没有做任何批量插入,所以这似乎是一种可行的方法。我从未听说过 OrmLite,但我会调查一下。你用过吗?如果用过,你有什么想法吗?
      • @Nefsu 我只在 Android 中使用过;很好。用另一个选项更新了答案,涵盖了具有域模型的非 ORM 解决方案。
      • 感谢您的建议,戴夫。我现在没有看到不使用 ORM 的场景,但我会在一段时间内查看 BeanUtils 持久性类。
      【解决方案3】:

      Spring 的SimpleJdbcTemplate 非常轻巧。您可以在没有所有样板文件的情况下使用 SQL。您也不需要完整的 Spring 机器 - 只需使用您需要的。

      如果 SimpleJdbcTemplate 对您来说太轻,请尝试 iBatis。这是 JDBC 和 Hibernate 之间的中间步骤。

      【讨论】:

      • +1;在我最近的两个 Spring 项目中使用过——非常简单。 (非常适合已经编写了大量 SQL 的遗留数据库,并且会让 Hibernate 哭得像个掉下来的婴儿。)
      • 是的,我也用过 duffymo。但如果我没记错的话,JdbcTemplate 并不真正支持 ORM。
      • 不,它没有。 SimpleJdbcTemplate 适用于仍想使用 SQL 的人。您可以使用 RowMapper 将结果加载到您想要的任何内容中。 ORM 已经超卖了。你不需要它,尤其是对于几个对象。
      【解决方案4】:

      我专门设计了sormula 是一个轻量级的 ORM。它是 CRUD 就绪和 POJO 友好的。你不写任何 DAO。零配置,零注释是可能的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-21
        • 1970-01-01
        • 2011-07-21
        • 2011-10-25
        • 1970-01-01
        相关资源
        最近更新 更多