我在 Java 应用程序中使用 Hibernate 进行 ORM。我想编写组合多个表并使用诸如 sum(salary)
之类的数据库函数的自定义查询。
我还希望支持多个数据库,而无需为每个数据库一次又一次地编写 SQL。目前采用的方法
拥有特定于每个数据库(Oracle
、MySQL
等)的存储过程,无论我们想要支持哪一个,我们都会更改应用程序中的配置文件。
我正在寻找一个非常通用的解决方案,这样我就不需要为每个新功能编写存储过程或 SQL。
最佳答案
如果您确实想让它保持可移植性,您需要使用 HQL 来完成这一切。
您没有理由不能在 HQL 中执行多表连接和聚合函数,您只需将自己限制在它支持的范围内即可。
一旦您开始执行数据库供应商特定的操作,根据定义,您就不再独立于数据库。
关于java - 使用 Hibernate 实现数据库独立性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17167520/