【发布时间】:2012-10-29 13:51:25
【问题描述】:
我有一个应该支持 oracle 和 mysql 数据库的应用程序。 我会为不同的数据库获得不同的配置。
但我希望代码中使用的所有 HSQL 都完好无损。
但我无法在以下情况下这样做:
我创建了如下查询:
String SQL_QUERY = "select count(log) from dbtable where created_date='"+ givenDate
Query query = session.createQuery(SQL_QUERY);
query.uniqueResult();
这在 mysql 中效果很好 但不是在oracle中
因为 oracle db 期望用
格式化 created_date 列的值to_date(givenDate,"yyyy-MM-dd")
所以我必须将上述查询更改为:
String SQL_QUERY = "select count(log) from dbtable where created_date=to_date('"+ givenDate+","yyyy-MM-dd")
对于 mysql 和 oracle,我能以任何方式避免这种多重查询声明吗??
【问题讨论】:
-
为什么不使用标准查询参数? docs.jboss.org/hibernate/orm/3.2/api/org/hibernate/…
标签: java mysql oracle hibernate