2.4 データベースにロードされるJavaクラスについて
コマンドライン・インタフェースを使用しない場合、JavaファイルをOracle JVMで使用可能にするには、Javaファイルをスキーマ・オブジェクトとしてデータベースにロードする必要があります。
コマンドライン・インタフェースを使用しない場合、Javaファイルをスキーマ・オブジェクトとしてデータベースにロードし、Oracle JVMでこれらを使用できるようにする必要があります。loadjava
ツールを使用して、ソース・ファイルを標準のクラス・ファイルにコンパイルする、Oracle JVMのJavaコンパイラをコールできます。
次の図では、loadjava
ツールを使用して、システム・データベース表に格納されているオプションの値を設定できることを示しています。これらのオプションは、特にJavaソース・ファイルの処理に影響を与えます。
各Javaクラスは、スキーマ・オブジェクトとして格納されます。オブジェクトの名前は、含まれているパッケージの名前も含めたクラスの完全修飾名から導出されます。たとえば、Handle
クラスのフルネームは、次のようになります。
oracle.aurora.rdbms.Handle
Javaスキーマ・オブジェクト名では、ピリオドがスラッシュで置換されるため、前述のクラスのフルネームは、次のようになります。
oracle/aurora/rdbms/Handle
JDK 11以降、モジュールのメンバーであるJavaスキーマ・オブジェクトの名前は、次の形式になります:
<module_name>///<class_name>
ここで、<module_name>
は、文字置換なしの実際のモジュール名です。たとえば、oracle.aurora
モジュールのメンバーであるoracle.aurora.rdbms.Handle
クラスのJavaスキーマ・オブジェクト名は、oracle.aurora///oracle/aurora/rdbms/Handle
になります。
Oracle Databaseでは、最大4000文字までのJava名を使用できます。ただし、Javaスキーマ・オブジェクトには128文字を超える名前は指定できません。したがって、スキーマ・オブジェクト名に128文字を超える名前が指定された場合は、スキーマ・オブジェクトの短縮名または別名が生成されます。それ以外の場合は、完全修飾名(フルネームとも呼ばれる)が使用されます。フルネームは、必要に応じて任意のコンテキストで指定できます。必要な場合は、名前のマッピングがOracle Databaseによって処理されます。