【问题标题】:data-centric application framework for java [closed]java的以数据为中心的应用程序框架[关闭]
【发布时间】:2023-03-14 13:45:01
【问题描述】:

我在 JSF 中的一个 Web 应用程序中工作,该应用程序旨在解决数据库中几乎所有的业务逻辑,即数据验证、处理等,主要发生在存储过程中。 为这种应用程序推荐哪种框架?我在Hibernate 中考虑,但文档内容完全相同:

对于只使用存储过程来实现数据库中的业务逻辑的以数据为中心的应用程序,Hibernate 可能不是最好的解决方案,它对于面向对象的领域模型和基于 Java 的中间层中的业务逻辑最为有用——层。

Hibernate 的诚实值得赞赏。因此,我正在寻找一个框架,它可以简化管理连接和调用数据库,并有助于编写更易于维护的代码。我读过Spring,但我不知道它是否最适合这个。

另外,如果有任何设计模式可以仅使用 JDBC 应用,那对我很有用。

感谢任何帮助和/或建议。提前致谢。

【问题讨论】:

  • 由于系统架构是以 DB 为中心的,也许您应该寻找基于 DB 的 Web 框架。

标签: java spring jsf frameworks


【解决方案1】:

说到 Spring,JDBC Template 提供 Java/JDBC 集成。这是一个示例存储过程调用:

this.jdbcTemplate.update(
    "call SUPPORT.REFRESH_ACTORS_SUMMARY(?)",
    Long.valueOf(unionId));

JDBC 模板提供事务管理、连接管理对象/查询映射、SQL 注入保护等等。

如果您想尝试一下 Spring Data,请参阅 Quick Getting StartedSpring Data JDBC Extensions,因为它还支持 typesafe queries(原文如此!)和 QueryDSL

【讨论】:

  • 使用spring jdbc模板,您不需要处理连接管理、事务管理等。它为您提供了一个非常好的和经过验证的编程模型。我在很多项目中使用它。其中之一对您的项目有完全相同的要求。你不会后悔的。
  • 根据您的建议,我已经用几个功能扩展了答案。我所说的低级别是指与 JPA 相比,所以我删除了这个不清楚的声明。我在一个项目中使用过它,效果还不错,但是我们使用了字符串查询,这导致了一些令人头疼的问题。还有一些免费的东西(比如保存实体)需要手动编码。
【解决方案2】:

当您的视图更加以数据库为中心时,MyBatis 是一个不错的选择:http://blog.mybatis.org/p/products.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-08
    • 2010-09-20
    • 1970-01-01
    • 2012-09-28
    • 2013-06-09
    • 1970-01-01
    • 2013-07-26
    • 1970-01-01
    相关资源
    最近更新 更多