Spring Hibernate应用程序中的数据库特定查询

时间:2013-12-05 10:27:58

标签: spring hibernate jpa

在dao类实现中,我想根据底层数据库使用不同的sql查询。由于我的SQL查询很复杂,它从数据库视图中选择并使用“UNION”关键字并使用特定于数据库的函数,因此我无法使用JPQL(或HQL)。我在Stackoverflow上做了一些搜索,并且线程建议找出应用程序中使用的方言的好方法。谁能提供一些代码示例? 编辑:道歉,我没有充分解释我的问题。在我的dao类实现中,我想确定运行我的应用程序的数据库(比如mysql或oracle),然后执行相应的查询。我需要像jdbcTemplate.findOutTheDialect()这样的代码。

2 个答案:

答案 0 :(得分:0)

JPA有native queries。 您可以找到here的示例。

答案 1 :(得分:0)

您可以使用spring JdbcTemplate从数据库进行连接和查询。 例如..

String query = "SELECT COUNTRY_NAME FROM COUNTRY WHERE MCC_COUNTRY NOT IN ('Reserved') ORDER BY COUNTRY_NAME";
jdbcTemplate.query(query, new ObjectRowMapper());

其中“ObjectRowMapper”将是一个将返回结果集映射到对象列表的类。