【问题标题】:Database independency using Hibernate使用 Hibernate 的数据库独立性
【发布时间】:2013-06-18 19:26:01
【问题描述】:

我在我的 Java 应用程序中使用 Hibernate for ORM。我想编写自定义查询组合多个表并使用像sum(salary) 这样的数据库函数。 我还想支持多个数据库,而无需为每个数据库一次又一次地编写 SQL。目前采用的方法 具有特定于每个 DB 的存储过程(OracleMySQL 等),无论我们想要支持哪个,我们都会更改应用程序中的配置文件。 我正在寻找的是一个非常通用的解决方案,这样我就不需要为每个新功能编写存储过程或 SQL。

【问题讨论】:

    标签: java hibernate


    【解决方案1】:

    如果你真的想保持它的便携性,你需要用 HQL 来做这一切。

    没有理由不能在 HQL 中进行多表连接和聚合函数,您只需将自己限制在它支持的范围内。

    一旦您开始做特定于数据库供应商的事情,根据定义,您就不再是独立于数据库的。

    【讨论】:

      【解决方案2】:

      完美的套件是 HIbernate Criterias

      Hibernate 提供了操作对象以及 RDBMS 表中可用数据的替代方法。其中一种方法是 Criteria API,它允许您以编程方式构建条件查询对象,您可以在其中应用过滤规则和逻辑条件。

      http://www.tutorialspoint.com/hibernate/hibernate_criteria_queries.htm

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-06-12
        • 2011-02-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-14
        • 1970-01-01
        相关资源
        最近更新 更多