Spring Hibernate 关系映射

Posted

技术标签:

【中文标题】Spring Hibernate 关系映射【英文标题】:Spring Hibernate Relation Mapping 【发布时间】:2015-10-27 17:06:03 【问题描述】:

我正在为我的一个项目寻求帮助。

我有公司类和银行类。

公司类和银行类将使用 Hibernate 使用多对多关系进行映射。

我该如何开始?我已完成创建公司模块,该模块将数据插入表中,对于银行也是如此。但是如何显示两者之间的映射关系呢?

流程是这样的 - Add Company -> Edit/Update -> Add Bank to the previous Company Detail -> Bank Also Add/Update -> View All,这是显示公司列表及其各自银行所必需的。

【问题讨论】:

我很困惑,在您的主题中您说的是一对多,但您说您的公司和银行实体处于多对多关系。 【参考方案1】:

我假设你使用联结表,所以我会这样做:

公司.class

@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinTable(name = "nameOfJunctionTable", catalog = "yourDatabaseName", joinColumns =  
        @JoinColumn(name = "companyId", nullable = false, updatable = false) , 
        inverseJoinColumns =  @JoinColumn(name = "bankId", 
                nullable = false, updatable = false) )
private Collection<Bank> banks;

银行类

@ManyToMany(fetch = FetchType.LAZY, mappedBy = "banks")
private Collection<Company> companies;

【讨论】:

以上是关于Spring Hibernate 关系映射的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate多对多关系映射(建表)

JPA Hibernate jpa spring data jpa

Hibernate框架学习之注解配置关系映射

Hibernate - 超越对象/关系映射?

Hibernate 对象关系映射文件

Hibernate关联关系映射