对于 @OneToMany 关系,我是否必须映射到对象?
我有下面的例子
@Entity
@Table(name="FOO_TABLE")
public class Foo {
@Id
@Column(name="ID")
@GeneratedValue
private int id;
?????
private List<String> bars;
}
如果酒吧是我会做的一个对象
@ManyToOne
@JoinColumn(name="ID_FOO")
问题就解决了。但是,我想避免创建一个仅表示一对字符串(引用键、值)的对象。
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
是您要查找的内容。这使您可以为非实体类定义映射,例如可嵌入或基本。
http://en.wikibooks.org/wiki/Java_Persistence/ElementCollection
您也可以使用@CollectionTable 来定义表格。
@ElementCollection
@CollectionTable(name = "data" ....)
private List<String> data;
关于java - hibernate 4 @OneToMany 列表<字符串>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19966486/