Hibernate 4 @OneToMany List
对于@OneToMany关系,我是否必须映射到对象?
我有以下例子
@Entity @Table(name="FOO_TABLE") public class Foo { @Id @Column(name="ID") @GeneratedValue private int id; ????? private List 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
就是你要找的。 这允许您为非实体类定义映射,例如Embeddable或Basic。
http://en.wikibooks.org/wiki/Java_Persistence/ElementCollection
您还可以使用@CollectionTable来定义表。
@ElementCollection @CollectionTable(name = "data" ....) private List data;