且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用连接表休眠一对多,并休眠注释

更新时间:2021-11-18 19:55:39

不要寻找示例.阅读 官方文档:

Don't look for examples. Read the official documentation:

@Entity
public class Product {

    private String serialNumber;
    private Set<Part> parts = new HashSet<Part>();

    @Id
    public String getSerialNumber() { return serialNumber; }
    void setSerialNumber(String sn) { serialNumber = sn; }

    @OneToMany
    @JoinTable(
            name="PRODUCT_PARTS",
            joinColumns = @JoinColumn( name="PRODUCT_ID"),
            inverseJoinColumns = @JoinColumn( name="PART_ID")
    )
    public Set<Part> getParts() { return parts; }
    void setParts(Set parts) { this.parts = parts; }
}


@Entity
public class Part {
   ...
}

另外,请注意这是单向一对多关联的默认设置.因此,如果默认表和列名称适合您,您甚至不必提供 @JoinTable 注释.

Also, note that this is the default for unidirectional one-to-many associations. So you don't even have to provide the @JoinTable annotation if the default table and column names suit you.