1

エンティティに埋め込み可能なオブジェクトのリストを保持したいと考えています。ただし、リスト内のオブジェクトの新しいテーブルを作成する必要はありません。

座標のリストが文字列にシリアル化され、エンティティ Entity_A の「座標」という名前の列に保存されるように、エンティティを永続化したいと考えています。

設計が悪いため、これを行うべきではないことはわかっています。しかし、この場合は必要です。

私の試み:

@Entity
class Entity_A implements Serializable {
    //... 

    private List<Coordinate> coordinates;
}

@Embeddable
class Coordinate implements Serializable {
    private Float lat;
    private Float lng;
    private Float alt;
}

うまくいきません。エラーは発生しません。

どうすればそれができるか考えていますか?

編集:

座標は他の場所で使用するため、埋め込み可能にする必要があります。

4

1 に答える 1

3

JPA 2.1 では、次のことが可能です。

座標フィールドに @ElementCollection で注釈を付ける

@ElementCollection    
private List<Coordinate> coordinates;

http://en.wikibooks.org/wiki/Java_Persistence/ElementCollectionで詳細を参照してください。

于 2014-08-07T16:28:39.447 に答える