【问题标题】:JHipster many to many relationship with extra fieldJHipster 与额外字段的多对多关系
【发布时间】:2019-11-25 15:05:47
【问题描述】:

我已经在两个实体之间生成了ManyToMany 关系,但我需要在连接表中添加一个额外的字段

@ManyToMany
    @JoinTable(name = "cliente_modulo",
               joinColumns = @JoinColumn(name = "cliente_id", referencedColumnName = "id"),
               inverseJoinColumns = @JoinColumn(name = "modulo_id", referencedColumnName = "id"))
    private Set<Modulo> modulos = new HashSet<>();

这样在数据库中添加了一个新表,但没有创建一个新实体。

如何生成ManyToMany 关系以添加具有额外字段的实体?

【问题讨论】:

    标签: jhipster


    【解决方案1】:

    您可以在 ClienteClienteModulo 之间设置 OneToManyClienteModulo 之间的 ManyToOne,而不是 ManyToMany 关系取模

    这应该像以前一样生成连接表,还可以生成模型实体和您需要的所有其他内容。

    类似:

    entity Cliente{}
    entity ClienteModulo{}
    entity Modulo{}
    
    relationship OneToMany {
      Cliente{clienteModulos} to ClienteModulo{cliente}
    }
    
    relationship ManyToOne {
      ClienteModulo{modulo} to Modulo{clienteModulos}
    }
    

    将您需要的属性添加到ClienteModulo

    【讨论】:

    • 我应该手动创建 ClienteModulo 还是使用生成器工具?
    • 我个人会使用生成器工具,这就是 jhipster 的用途。但我不知道你对这个项目有什么限制,这真的是你的决定:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-18
    • 1970-01-01
    • 2023-02-02
    • 2017-11-22
    • 1970-01-01
    • 2015-06-26
    相关资源
    最近更新 更多