使用Hibernate的数据库独立性

时间:2013-06-18 11:17:12

标签: java hibernate

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

2 个答案:

答案 0 :(得分:1)

一个完美的套件是HIbernate Criterias

  

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

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

答案 1 :(得分:1)

如果你真的想保持便携性,你需要使用HQL来完成所有工作。

你没有理由不能在HQL中进行多表连接和聚合功能,你只需要将自己限制在它支持的那些。

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

相关问题