[解決済み] java.sql.SQLException: ORA-00932: データ型の不一致: 期待した NUMBER は BINARY になりました。
2022-02-18 08:37:04
質問
Daoクラスで、以下のようなメソッドがあります。
List<Object[]>
という名前のクエリを使っています。
public List<Object[]> getListByCustomer(Session session, int customerId, List<Integer> strIds) {
Query namedQuery = session.createSQLQuery(QueryConstants.EXPORT);
namedQuery.setParameter("customer", customerId);
namedQuery.setParameter("stringId", strIds);
List<Object[]> objects = namedQuery.list();
return objects;
}
を渡したい。
List<Integer> strIds
をstringIdで指定し、以下のように名前付きクエリに入力します。
public class QueryConstants {
public static final String EXPORT =
"SELECT sv.NAME, sv.TYPE, sv.CLIENT_ADDRESS, sv.NAME_REDUNDANT, sv.DEPARTURE_DATE, s1.CODE,sv.STATE, sv.CODE "
+ "FROM VIEW sv, PROCESS p1, SET s1 "
+ "WHERE sv.R_ID = p1.R_ID and p1.ISSUER_ID = s1.USER_ID and sv.CUSTOMER_ID = :customer and sv.R_ID IN (:stringId)";
}
しかし、私は
ORA-00932: inconsistent datatypes: expected NUMBER got BINARY.
また
sv.R_ID IN (:stringId)
は正常に動作し
を渡すと
Integer(strIds)
の代わりに
List<Integer> strIds
をクエリに追加すると、正常に動作します。
Oracle 10gを使用しています。
どのように解決するのですか?
を使うだけでいいと思います。
IN :stringId
ではなく
IN (:stringId)
JPA用
namedQuery.setParameter("stringId", strIds);
が正しいのですが、Hibernateの場合は
namedQuery.setParameterList("stringId", strIds);
関連
-
[解決済み】エラー:配列または java.lang.Iterable のインスタンスに対してのみ反復処理を行うことができます。
-
[解決済み】不正なエスケープ文字"㊧"について
-
[解決済み】エラー「No enclosing instance of type Foo is accessible」の原因と修正方法について教えてください。
-
[解決済み】指定された子にはすでに親がいます。先に子の親に対してremoveView()を呼び出す必要がある(Android)
-
[解決済み】Javaで無限大を実装する方法とは?
-
[解決済み】keytoolエラー 鍵屋が改ざんされたか、パスワードが不正確だった場合
-
[解決済み】Javaのswitch文。定数式が必要だが、定数である
-
[解決済み】Java LinkedListでNodesを使用する
-
[解決済み】Javaの".class expected "について
-
[解決済み】ORA-00932: 整合性のないデータ型: 予想される - CLOB を取得しました。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】リンクリストの負の値の数でnegativeCntrを代入する
-
[解決済み] java.sql.SQLException: ユーザー 'root'@'localhost' (using password: YES) のためのアクセスが拒否されました。
-
[解決済み】指定された子にはすでに親がいます。先に子の親に対してremoveView()を呼び出す必要がある(Android)
-
[解決済み] hibernate のプロパティが見つかりません。
-
[解決済み】Javaの部分文字列:「文字列のインデックスが範囲外」。
-
[解決済み】Eclipseがエラーメッセージ "Java was started but returned exit code = 1" を返す
-
[解決済み】 JAVA 変数宣言はここではできない
-
[解決済み】java 'jar'が内部コマンドまたは外部コマンドとして認識されない。
-
[解決済み] java.sql.SQLException を取得しました。ResultSet が終了した後の操作は許可されません。
-
[解決済み] JPAクエリにIN句リストを追加する