java - hibernate 4 @OneToMany 列表<字符串>

标签 java hibernate jpa

对于 @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/

相关文章:

java - hibernate 线程如何向自身发送中断?

java - 在Java中的不同类中使用相同类型的两个不同对象

java - Spring Webflow IllegalStateException : Neither BindingResult nor plain target object for bean name available as request attribute

java - 当主数据库发生故障时切换到 Hibernate 中的其他数据库

java - Hibernate 自引用实体作为非空列

java - persistence.xml 中不存在 Hibernate 映射实体

java - 将 svg 文件拖放到 Canvas 中

java - Hibernate/Spring - 在事务中回滚事务

java - 在运行时创建 Spring JPA 实体

java - JPQL:OR 不会按预期工作