SQL との EJB 照会互換性問題

Enterprise JavaBeans (EJB) 照会は構造化照会言語 (SQL) にコンパイルされるため、 Java 言語と SQL の互換性問題を認識する必要があります。

この 2 つの言語は、 EJB 照会形式を訂正するのに重要である可能性がある以下の点で異なっています。
  • SQL ストリングの比較セマンティクスは、Java 言語のものとまったく同じではありません。 例えば、「A」(文字 A) および「A 」(文字 A と空白のスペース)は SQL では同じと考えられますが、Java 言語では同じと考えられません。
  • 比較および照合順序は基盤となるデータベースによります。 例えば、EBCDIC コード・ページで DB2 を使用している場合、照合順序は Java プログラムで行われるソートの順序と同じではありません。 一部のデータベースでは NULL 値を低位にソートしますが、他のデータベースでは NULL 値を高位にソートします。
  • 算術オーバーフローによって、SQL には例外が起こりますが、Java 言語では起こりません。
  • SQL データベースには、異なる浮動小数点値の最小および最大範囲があ り、Java 言語の浮動小数点値の範囲と異なることがあります。 Java Double の範囲限度に近い値は、SQL への変換に失敗することがあります。
  • Java メソッドは SQL に変換しないため、標準 EJB 照会は Java メソッドを含むことができません。
    注: 動的 EJB 照会サービスでのみ、SQL に変換しない関数を使用することができます。 このような関数には、リレーショナル・データベース (RDB) へのエンタープライズ Bean の マッピングに使用される Java メソッドとコンバーターまたはコンポーザーが含まれます。 これらの関数を使用する標準 finder または select 照会は、メッセージ「照会をプッシュダウンできません」が表示されて、デプロイメント時に失敗します。 (照会またはマッピングを変更して、この問題を解決することができます。) ただし、動的照会ランタイムは、アプリケーション・サーバーでその関数に関する演算を実行して照会を処理します。

トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cque_restrict
ファイル名:cque_restrict.html