2011-07-21 15 views
4

JPA @MapKey要素のセマンティクスについて理解できない根本的なものがあります。 エンティティキーとエンティティ値を持つマップを保存しようとしています。スキーマは、休止状態で自動生成された です。値エンティティを (Mapプロパティを持つ)エンティティにマップし、キーを無視する結合テーブルを生成します。 それはそれを値のコレクションとして扱い、キーを無視します。 私が知る限りです。 ここには何が欠けていますか? はあなたjavadoc of @MapKey問題JPAアノテーションを使用して、hibernateを使ってマップをマップする

@Entity 
public class PracticeMap { 
    @javax.persistence.OneToMany(cascade = CascadeType.ALL) 
    @javax.persistence.MapKey 
    public Map<KeySample, ValueSample> getMap1() { 
     return map1; 
    } 

    //more unrelated/standard bits here 


} 

答えて

2

ルックをありがとう - あなたがキーとして価値実体の特定のフィールドを処理する必要がある場合、それが使われています。

キーと値が異なるエンティティである必要がある場合は、@MapKeyJoinColumn(JPA 2.0で導入)を使用する必要があります。

+0

偉大な、それは私のために物事をクリアした。ありがとうございました ! –

関連する問題