繁体   English   中英

@OneToMany在spring数据jpa中给出了空值

[英]@OneToMany is giving null value in spring data jpa

public class Enterprise{
.....
    @OneToMany(mappedBy = "enterprise", fetch = FetchType.EAGER)
    private List<Organization> organizations;
.....
}

public class Organization{
....
    @ManyToOne
    @JoinTable(name = "enterprise_organization_map", joinColumns = {
            @JoinColumn(name = "organization_id") }, inverseJoinColumns = { @JoinColumn(name = "enterprise_id") })
    private Enterprise enterprise;
....
}

当我尝试获取Enterprise时,没有得到映射的组织。 返回的null。

//打印语句

具有组织的企业:企业[企业ID = 13,企业名称= xyz,组织=空]

任何人都可以在这里帮助我。

双向一对多关联需要帮助程序方法来“链接”两个实体,请参见手册

每当形成双向关联时,应用程序开发人员都必须确保双方始终保持同步。 addPhone()和removePhone()是实用程序方法,可在添加或删除子元素时同步两端。

因此,必须将至少一种此类方法添加到Enterprise ,然后在将Organization添加到Enterprise时使用它:

public Enterprise addOrganization(Organization organization) {

    organization.setEnterprise(this);
    this.organizations.add(organization);
    return this;
}

我在您的代码中看不到这种方法。 我认为这是您遇到问题的原因。

有关一对多的其他有用信息,您可以在这里找到: 多对一和一对多关联映射的最佳做法

问题出在toString()。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM