我正在使用JPA(Hibernate)的項目,所以幾乎所有的查詢都是用JPQL編寫的。但是對於需要查詢特定數據庫類型的查詢,我寫了一個本機查詢。不同的數據庫,不同的結果類型與'SELECT 1'通過jdbc:如何檢查值?
該項目實際上是用MySQL和Oracle DBMS測試的。我的本機查詢是"SELECT 1 FROM [...]"
;然後我需要知道結果是否存在(簡單),如果它是1(你可能會認爲這是簡化,我猜:-))。
在這兩種情況下,我將創建一個javax.persistence.Query
與createNativeQuery(String)
,然後我運行如下查詢:Object r = q.getSingleResult();
(例外情況已被處理)。
我發現在MySQL上r是BigInteger
,而在Oracle中是BigDecimal
。
我是一個nood在JDBC,有沒有什麼辦法(改變查詢,對象或方法調用我使用),我可以肯定,我的查詢將返回相同的數據類型,無論數據庫系統是針對?這是可以配置的東西,依賴於jdbc,還是一個驅動程序特定的問題?
謝謝!有時我只是忘了OOP :-) – watery