2

次の関係に問題があります。

 @Entity
 public class Account {
     @OneToMany
     private Map<SomeEntity, WrapperEntity> myMap;
     // getter, setters, etc.
 }

ラッパー エンティティの場合:

 @Entity
 public class WrapperEntity {
     @OneToMany
     private Set<SomeOtherEntity> otherEntities;
 }

これを実行しようとすると、EclipseLink の例外が発生します。

Exception [EclipseLink-93] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DescriptorException
Exception Description: The table [WRAPPERENTITY] is not present in this descriptor.

しかし、関係を双方向にmappedByして Account クラスに追加すると、プロジェクトが実行されます。この動作は意図したものですか? 私は何かを見落としていますか?

双方向の関係を使用する場合、別の考えは奇妙に思えます。テーブルが不完全な方法で埋められていると思います。テーブルWrapperEntityには列がmyMap_keyあり、対応するマップ エントリを保存すると何も格納されません。eclipselink でバグを探しましたが、似たようなものは見つかりませんでした。

4

0 に答える 0