我们尝试在两个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。
有什么想法吗?