Java Hibernate 4@OneToMany列表<;字符串>;

Java Hibernate 4@OneToMany列表<;字符串>;,java,hibernate,jpa,Java,Hibernate,Jpa,对于@OneToMany关系,我必须映射到对象吗 我有下面的例子 @Entity @Table(name="FOO_TABLE") public class Foo { @Id @Column(name="ID") @GeneratedValue private int id; ????? private List<String> bars; } 问题就解决了。但是,我希望避免创建仅表示一对字符串(引用键、值)的对象 FOO和B

对于@OneToMany关系,我必须映射到对象吗

我有下面的例子

@Entity
@Table(name="FOO_TABLE")
public class Foo {

    @Id
    @Column(name="ID")
    @GeneratedValue
    private int id;

    ?????
    private List<String> bars;

}
问题就解决了。但是,我希望避免创建仅表示一对字符串(引用键、值)的对象

FOO和BAR存储在单独的表中

CREATE TABLE Foo (
    ID INTEGER NOT NULL AUTO_INCREMENT,
    //SOME OTHER PROPERTIES
    PRIMARY KEY( ID),
);

CREATE TABLE Bar (
    ID_FOO INTEGER,
    VAL VARCHAR(256),
    PRIMARY KEY (ID_FOO, VAL),
    FOREIGN KEY ( ID_FOO) REFERENCES Foo( ID) ON DELETE CASCADE
);

@ElementCollection
就是您要找的。这允许您为非实体类定义映射,例如可嵌入类或基本类

您还可以使用@CollectionTable来定义表

@ElementCollection
@CollectionTable(name = "data" ....)
private List<String> data;
@ElementCollection
@CollectionTable(name=“data”…)
私人名单数据;
@ElementCollection
@CollectionTable(name = "data" ....)
private List<String> data;