Hibernate 在没有关系的情况下创建关系 table

Hibernate create relation without relational table

是否可以在不使用映射它们的另一个 table 的情况下映射休眠实体?

当我在 2 个实体之间创建 @OneToMany 和 @ManyToOne 关系时,hibernate 总是在数据库中创建另一个 table 来映射关系,我想直接使用映射实体中的列来映射 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;

使用上面的代码时,列表总是空的,不知道为什么。从技术上讲,此映射应该有效,但事实并非如此。没有抛出异常。

通过使用解决:

@OneToMany (fetch = FetchType.EAGER, targetEntity=InstalledAppPort.class)
@JoinColumn(name = "iappId", referencedColumnName = "id")
private List<InstalledAppPort> ports;