0
我有我在查詢執行多次使用不同的參數,像這樣的自定義函數:的SQLQuery調用自定義函數只執行一次
select
my_function(input.pt, false),
my_function(input.pt, true)
from (select st_geomfromewkt('SRID=1;POINT(151.2836 -33.7859484007395)') as pt) as input;
在爪哇以外運行/休眠此只執行罰款返回兩個不同的值:
1, 2
然而,當我通過一個休眠的SQLQuery我得到的第一個結果調用兩次正好與完全相同的參數相同的查詢:
SQLQuery qry = session.createSQLQuery("SELECT "//
+ " my_function(input.pt, false)," //
+ " my_function(input.pt, true)" //
+ " FROM (SELECT st_geomfromewkt(:point) AS pt) AS input;");
qry.setString("point", "SRID=1;POINT(151.2836 -33.7859484007395)");
Object[] result = (Object[]) qry.uniqueResult();
結果:
[1, 1]
我有雙重檢查我反對同一數據庫和架構上運行。
有什麼想法?
tometzky我會嘗試你的建議(日誌)很快,但只是一個側面說明,我測試過,如果我切換函數調用周圍(即真實的,那麼假的),我總是得到第一調用的結果時兩次通過休眠(2,2)。 – pstanton 2012-07-06 20:02:44