首页 > 解决方案 > Hibernate OneToMany 在服务器上不起作用

问题描述

我们尝试在两个 Hibernate 模型之间实现一个简单的 OneToMany 连接。第一个模型如下所示:

@Entity
@Table(name = "proposals_item")
@PrimaryKeyJoinColumn(name = "item_id")
public class ProposalsModuleItem extends ModuleItem {

    @OneToMany(mappedBy = "proposalsModuleItem", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
    private Set<Profiler> profilers = new HashSet<>();

}

第二个是这样的:

@Entity
@Table(name = "profiler")
public class Profiler {

    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "proposals_item_id", nullable = false)
    protected ProposalsModuleItem proposalsModuleItem;

}

如果我使用本地数据库在本地运行我的程序,一切正常。如果我在服务器上运行相同的东西,则连接不起作用。ProposalsModuleItem.getProfilers() 为空。

我认为数据库中有问题,但我将服务器数据库导入本地系统,它仍然有效。

我在数据库配置中考虑了一些不同的东西。在本地,我在 MySQL 5.7 上运行,在我们运行 AWS Aurora 的服务器上。也许也很重要:我们正在运行 Java 10。

有任何想法吗?

标签: javahibernatehibernate-mappingjava-10hibernate-onetomany

解决方案


推荐阅读