我有一个应该支持 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 避免这种多重查询声明吗?