【问题标题】:Hibernate create relation without relational tableHibernate创建没有关系表的关系
【发布时间】: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


    【解决方案1】:

    通过使用解决:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多