Sun Java System Application Server Enterprise Edition 8.2 トラブルシューティングガイド

アプリケーションで Error persistence.support.JDODataStoreException が発生する

説明

com.sun.jdo.api.persistence.support.JDODataStoreException が、主キーの重複を示す入れ子にされた java.sql.SQLException とともに、アプリケーションから出力されます。

アプリケーションで CreateException の発生をチェックしていても、見つかることはありません。Enterprise JavaBeans の仕様上、同じ主キーを持つ 2 つの Bean が同じトランザクションで作成される場合にのみ、CreateException のスローが要求されます。したがって、主キーが重複する 2 つのエンティティー Bean が作成される場合でも、トランザクションロールバックで CreateException がスローされることはありません。

解決法

アプリケーションで主キーが重複するエンティティー Bean を作成する場合は、作成を呼び出す前に findByPrimaryKey を呼び出して主キーが存在するかどうかチェックします。