sql >> データベース >  >> RDS >> PostgreSQL

プリペアドステートメントにnullをバインドするときのPostgresbyteaエラー

    回答やコメントの形でフィードバックを受け取っていなかったので、このすばらしいブログ投稿に出くわしたとき、私はあきらめる準備をしていました:

    カスタムHibernateパラメータータイプをJPAクエリにバインドする方法

    投稿には、JPAがドライバーを介してPostgresに渡すタイプ(または基盤となるデータベースが実際にあるもの)を制御するための2つのオプションがあります。 TypedParameterValueを使用したアプローチを採用しました 。上記の例を続けると、私のコードは次のようになります。

    Query query = entityManager.createNativeQuery(sqlString, MyEntity.class);
    query.setParameter("param1", new TypedParameterValue(StringType.INSTANCE, null));
    query.setParameter("param2", new TypedParameterValue(DoubleType.INSTANCE, null));
    List<MyEntity> = query.getResultList();
    

    もちろん、nullを渡すのは簡単です すべて クエリのパラメータですが、これは主にテキストと二重列の構文を表示するために行っています。実際には、少なくともいくつかのパラメータがnullではないと予想されます。 、ただし、上記の構文は、nullまたはそれ以外のすべての値を処理します。



    1. isqlのコマンド履歴

    2. イベントソーシング用のリレーショナルデータベーススキーマ

    3. 挿入されたフィールドのデータを使用して計算されたデータを別のフィールドに挿入する挿入時のPostgresトリガープロシージャ

    4. mysql、php、pdoを使用して大文字と小文字を区別しないように選択します