首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate 4 @OneToMany List<String>

Hibernate 4 @OneToMany List<String>
EN

Stack Overflow用户
提问于 2013-11-14 07:19:47
回答 1查看 14.8K关注 0票数 18

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

我有下面的例子

代码语言:javascript
复制
@Entity
@Table(name="FOO_TABLE")
public class Foo {

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

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

}

如果酒吧是一个对象,我会这么做

代码语言:javascript
复制
@ManyToOne
@JoinColumn(name="ID_FOO")

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

FOO和BAR存储在不同的表中

代码语言:javascript
复制
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
);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-14 07:57:27

@ElementCollection就是你要找的东西。这允许您为非实体类定义映射,例如Embeddable或Basic。

http://en.wikibooks.org/wiki/Java_Persistence/ElementCollection

您也可以使用@CollectionTable来定义该表。

代码语言:javascript
复制
@ElementCollection
@CollectionTable(name = "data" ....)
private List<String> data;
票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19966486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档