Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)
@PersistenceUnitをアプリケーションに記載している場合に,DDで<persistence-unit-ref>タグを定義していると,アノテーションで定義した内容はDDで定義した内容で上書きされます。この場合,アノテーションとDDとの対応は,@PersistenceUnitのname属性とDDの<persistence-unit-ref>タグ下にある<persistence-unit-ref-name>タグの対応で判断されます。@PersistenceUnitでname属性が明示的に指定されていない場合,name属性にはデフォルト値が存在するので注意が必要です。
次に@PersistenceUnitに指定した属性がDDのタグでオーバーライドされるときの注意について説明します。
DDの<persistence-unit-name>は@PersistenceUnitのunitName属性をオーバーライドします。通常,永続化ユニット名を変更すると,アプリケーションは動作しなくなるので,変更には注意が必要です。
DDでインジェクションターゲットをオーバーライドすることはできません。DDに<injection-target>を記述する場合には,@PersistenceContextが付加されたフィールドやメソッドを正確に指定しなければなりません。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.