ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Express メッセージ集
FUJITSU Software

Java Persistence APIを使用して異常が発生した場合、Interstage永続性プロバイダは例外をスローします。例外のcauseとして、oracle.toplink.essentialsで始まる例外をスローする場合があります。ここでは、この例外情報について説明します。

なお、ここで説明している例外が発生した場合、以下の対処が有効です。

注意

ここで説明しているすべての例外クラスはjava.lang.RuntimeExceptionクラスを継承しているため、説明している例外をキャッチしなくてもコンパイルエラーにはならずにアプリケーションを実行できます。

また、アプリケーションで例外をキャッチする場合、汎用的ではないアプリケーションとなりますのでoracle.toplink.essentialsで始まる例外クラスをキャッチする処理は行わないでください。アプリケーションで例外をキャッチする場合にはJava EE規約のAPI 仕様で規定された例外をキャッチするように修正してください。例えば、javax.persistence.EntityManagerのpersistメソッドは、API仕様としてjavax.persistence.EntityExistsException、java.lang.IllegalStateException、java.lang.IllegalArgumentException、javax.persistence.TransactionRequiredExceptionの例外クラスが返却されると規定されているため、これらの例外クラスをキャッチするように修正してください。

例外情報の形式

Exception [TOPLINK-{0}] ({1}): {2}
Exception Description: {3}
Internal Exception: {4}
Target Invocation Exception: {5}
Mapping: {6}
Descriptor: {7}
Error Code: {8}
Call: {9}
Query: {10}


可変情報

  

意味

{0}

エラー番号

{1}

内部情報

{2}

例外クラス名

{3}

エラー情報

{4}

本例外にラップされた例外情報

{5}

ラップされた例外クラスがjava.lang.reflect.InvocationTargetExceptionである場合、getTargetException()メソッドから返却されるターゲット例外の情報

{6}

定義マッピング情報

{7}

説明

{8}

{4}の例外クラスがjava.sql.SQLExceptionまたはjava.sql.SQLExceptionのサブクラスである場合、getErrorCodeメソッドから返却されるデータベースベンダー固有の例外コード。その他の場合、"000"

{9}

SQL文の情報

{10}

内部情報

情報がない項目はその行が出力されません。
SQLログ機能を有効にしていない場合はSQL文情報の行が出力されません。

例外スタックトレースの形式

WARNING: ISJEE_JPA0020: caught throwable.
Local Exception Stack
{0}
Internal Exception Stack:
{1}
Target Invocation Exception Stack:
{2}


ERROR: ISJEE_JPA0022: caught throwable.
Local Exception Stack
{0}
Internal Exception Stack:
{1}
Target Invocation Exception Stack:
{2}


可変情報

  

意味

{0}

本例外の例外情報とスタックトレース

{1}

本例外にラップされた例外のスタックトレース

{2}

ラップされた例外クラスがjava.lang.reflect.InvocationTargetExceptionである場合、getTargetException()メソッドから返却されるターゲット例外のスタックトレース

情報がない項目は出力されません。

例外の説明

oracle.toplink.essentials.exceptions.ConcurrencyException

[意味]

Java並行性に違反しました。実行中のスレッドが割り込まれて、java.lang.InterruptedException例外がスローされた場合、この例外がラップされます。

[対処]

エラー情報を参照して原因を確認し、原因を取り除いてから再度実行してください。

oracle.toplink.essentials.exceptions.ConversionException

[意味]

互換性のないデータの変換によって変換エラーが発生しました。

[対処]

エラー情報を参照して原因を確認し、原因を取り除いてから再度実行してください。
エラー番号が3001であり、「Caused by:」にjava.lang.NullPointerExceptionが出力された場合、配列の要素にnullを指定しているjava.lang.Character[]型のフィールドをデータベースに格納しようとしている可能性があります。この場合、すべての要素に文字に変換できる値を指定して、再度実行してください。

oracle.toplink.essentials.exceptions.DatabaseException

[意味]

データベースのアクセス時に異常が発生しました。

[対処]

エラー情報やJDBCドライバから返却された例外情報を参照して原因を確認し、原因を取り除いてから再度実行してください。

oracle.toplink.essentials.exceptions.DescriptorException

[意味]

deployment descriptorファイルの定義内容に誤りがあります。または、定義した情報が不十分です。

[対処]

エラー情報を参照して原因を確認し、原因を取り除いてから再度実行してください。

oracle.toplink.essentials.exceptions.EJBQLException

[意味]

JPQLクエリ文の解析に失敗しました。

[対処]

エラー情報を参照して原因を確認し、原因を取り除いてから再度実行してください。

oracle.toplink.essentials.exceptions.EntityManagerSetupException

[意味]

エンティティマネージャファクトリまたはエンティティマネージャの作成に失敗しました。

[対処]

エラー情報や本例外にラップされた例外情報を参照して原因を確認し、原因を取り除いてから再度実行してください。

oracle.toplink.essentials.exceptions.IntegrityException

[意味]

エンティティマネージャファクトリまたはエンティティマネージャの初期化で異常が発生しました。
「Descriptor Exceptions:」の下にスローされたoracle.toplink.essentials.exceptions.DescriptorException例外の情報が出力されます。
上記以外の例外がスローされた場合、その例外情報が「Runtime Exceptions:」の下に出力されます。

[対処]

エラー情報を参照して原因を確認し、原因を取り除いてから再度実行してください。

oracle.toplink.essentials.exceptions.OptimisticLockException

[意味]

レコードが他トランザクションによって更新、またはテーブルから削除されました。

[対処]

レコードを再度検索し処理を再度実行してください。

oracle.toplink.essentials.exceptions.PersistenceUnitLoadingException

[意味]

deployment descriptorファイルの読み込みに失敗しました。または、定義内容に誤り、または不足があります。

[対処]

エラー情報を参照して原因を確認し、原因を取り除いてから再度実行してください。

oracle.toplink.essentials.exceptions.QueryException

[意味]

JPQLクエリ文の解析に失敗しました。

[対処]

エラー情報を参照して原因を確認し、原因を取り除いてから再度実行してください。

oracle.toplink.essentials.exceptions.StaticWeaveException

[意味]

relationshipでFetchType.LAZYを定義したEntityクラスの準備処理で異常が発生しました。

[対処]

エラー情報を参照して原因を確認し、原因を取り除いてから再度実行してください。

oracle.toplink.essentials.exceptions.TransactionException

[意味]

トランザクション中に異常が発生しました。

[対処]

エラー情報を参照して原因を確認し、原因を取り除いてから再度実行してください。

oracle.toplink.essentials.exceptions.ValidationException

[意味]

JPAの実行環境やデータベース環境に不適当な箇所があります。または、永続化フィールドがInterstage永続性プロバイダで対応している型に適合していません。

[対処]

エラー情報を参照して原因を確認し、原因を取り除いてから再度実行してください。
エラー番号が7027の場合、プライマリキー値の自動生成機能で使用するデータベースのシーケンスが作成されているか、確認してください。
エラー番号が7212の場合、java.util.Date型またはjava.util.Calendar型の永続化フィールドにTemporalTypeが定義されているか、確認してください。
エラー番号が7231の場合、一意制約違反が発生したため、テーブルのレコード、または挿入しようとしたEntityの値を確認してください。

oracle.toplink.essentials.exceptions.XMLParseException

[意味]

deployment descriptorファイル(persistence.xmlまたはマッピングファイル)の読み込みで異常が発生しました。

[対処]

エラー情報を参照して原因を確認し、原因を取り除いてから再度実行してください。

oracle.toplink.essentials.platform.xml.XMLPlatformException

[意味]

deployment descriptorファイル(persistence.xmlまたはマッピングファイル)のパーサ処理で異常が発生しました。

[対処]

エラー情報を参照して原因を確認し、原因を取り除いてから再度実行してください。