java - 使用 Hibernate 实现数据库独立性

标签 java hibernate

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

最佳答案

如果您确实想让它保持可移植性,您需要使用 HQL 来完成这一切。

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

一旦您开始执行数据库供应商特定的操作,根据定义,您就不再独立于数据库。

关于java - 使用 Hibernate 实现数据库独立性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17167520/

相关文章:

java - 你能指望 .finalize() 被调用吗?

java - Common Pojo - 基于父pojo的动态错误消息 - Spring验证

java - 仅存在于子类中的属性的别名(Hibernate Criteria)

hibernate - c3p0 死锁检测 - 线程运行过于频繁

java - 如何在java中向对象列表添加元素

java - java中的骨架化和细化

java - PostgreSQL pg_stat_activity 被 "SET extra_float_digits = 3"查询填满,导致调用 Driver#connect 时出错

java - Hibernate计算集合@Formula

java - 使用 Eclipse 的 Spring 项目

java - JPA - 为什么我在数据库中的每一行看到两个实体实例?