我有一個應該支持oracle和mysql數據庫的應用程序。 我將爲不同的數據庫獲得不同的配置。hibernate支持多個數據庫oracle和mysql的HQL查詢
但我希望代碼中使用的所有HSQL都是完整的。
,但我不能bcoz下面這樣做:
我創建了一個查詢象下面這樣:
String SQL_QUERY = "select count(log) from dbtable where created_date='"+ givenDate
Query query = session.createQuery(SQL_QUERY);
query.uniqueResult();
這個作品非常好MySQL中 但不是在預言
因爲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這多個查詢聲明?
爲什麼不使用標準查詢參數? http://docs.jboss.org/hibernate/orm/3.2/api/org/hibernate/Query.html#setDate%28java.lang.String,%20java.util.Date%29 – DRCB