web-dev-qa-db-ja.com

Hibernate、List <String>

Hibernateでリストのマッピングに問題があるようです。私たちのプロジェクトでは、クラスCardにはクラスAnswerが含まれ、AnswerにはList<String>が含まれています。

List<String>はアノテーションを使用してHibernateによってマッピング可能ですか?つまり、@Entity注釈がないのですか?

よろしく

49
TeaOverflow

つかいます @ElementCollection

@ElementCollection
@CollectionTable(name="Nicknames", joinColumns=@JoinColumn(name="user_id"))
@Column(name="nickname")
public List<String> getNicknames() { ... } 

出典:7.2.3。基本型と埋め込み可能オブジェクトのコレクション

103

試してみる

  @org.hibernate.annotations.CollectionOfElements(
        targetElement = Java.lang.String.class
    )
    @JoinTable(
        name = "foo",
        joinColumns = @JoinColumn(name = "foo_id")
    )
    @org.hibernate.annotations.IndexColumn(
        name = "POSITION", base = 1
    )
    @Column(name = "baz", nullable = false)
    private List<String> arguments = new ArrayList<String>();

または この詳細な例 を参照してください