0

名前付きクエリを使用して PL/SQL 関数を呼び出したい。パラメータの 1 つが問題を引き起こします。PL/SQL 定義では、そのタイプは NUMBER です。q.setParameter (Test.DISTRICT_ID_PARAM,districtId); これが設定されている Java コードは次のとおり districtIdですLong

districtIdnull でない 場合はすべて問題ありませんが、null の場合は次の結果になります。org.hibernate.exception.SQLGrammarException: could not execute query

districtIdがnullでない場合にクエリがうまく機能するため、配管に問題はないと確信しています。

4

1 に答える 1

0

特にJavaやHibernateには詳しくありませんが、私が書いたOracleアプリケーションでは、nullパラメーター(C#)で同様の動作に遭遇しました-Javaに概念がある場合、パラメーター値をDB nullに設定してみましたか(C# DBNull.Value)?

値がnullの場合、Oracleはそれをパラメーターがまったく渡されていないと解釈すると思います。

于 2011-07-20T07:06:04.147 に答える