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;
是否可以在不使用映射它们的另一个 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;