我在我的 Java 应用程序中使用 Hibernate for ORM。我想编写自定义查询组合多个表并使用数据库函数,如sum(salary)
. 我还想支持多个数据库,而无需为每个数据库一次又一次地编写 SQL。当前采用的方法是使用特定于每个 DB(等)的存储过程Oracle
,MySQL
无论我们想要支持哪个,我们都会更改应用程序中的配置文件。我正在寻找的是一个非常通用的解决方案,因此我不需要为每个新功能编写存储过程或 SQL。
问问题
266 次
2 回答
1
一个完美的套件是 HIbernate Criterias
Hibernate 提供了操作对象以及 RDBMS 表中可用数据的替代方法。其中一种方法是 Criteria API,它允许您以编程方式构建条件查询对象,您可以在其中应用过滤规则和逻辑条件。
http://www.tutorialspoint.com/hibernate/hibernate_criteria_queries.htm
于 2013-06-18T11:20:19.043 回答
1
如果你真的想保持它的便携性,你需要用 HQL 来完成这一切。
你没有理由不能在 HQL 中进行多表连接和聚合函数,你只需要将自己限制在它支持的范围内。
一旦你开始做特定于数据库供应商的事情,根据定义,你就不再是独立于数据库的。
于 2013-06-18T11:26:01.993 回答