【发布时间】:2021-05-28 22:11:43
【问题描述】:
是否可以在不使用映射它们的另一个表的情况下映射休眠实体?
当我在 2 个实体之间创建 @OneToMany 和 @ManyToOne 关系时,hibernate 总是在数据库中创建另一个表来映射关系,我想直接使用映射实体中的列来映射 2 个实体,如下所示:
“InstalledApp”实体:
@OneToMany (fetch = FetchType.EAGER, targetEntity=InstalledAppPort.class, mappedBy = "id")
private List<InstalledAppPort> ports;
“InstalledAppPort”实体:
@ManyToOne (targetEntity=InstalledApp.class, fetch=FetchType.LAZY)
@JoinColumn(name = "iappId")
private InstalledApp iapp;
使用上面的代码时,列表总是空的,我不知道为什么。从技术上讲,这种映射应该有效,但事实并非如此。没有抛出异常。
【问题讨论】:
标签: mysql hibernate join orm hibernate-mapping