我已经在两个实体之间生成了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
关系,以添加具有额外字段的实体?
答案 0 :(得分:1)
您可以在 Cliente 和 ClienteModulo 之间设置ManyToMany
,在之间设置OneToMany
来代替ManyToOne
关系ClienteModulo 和 Modulo 。
这应该像以前一样生成联接表,还可以生成模型实体以及您需要的所有其他东西。
类似的东西:
entity Cliente{}
entity ClienteModulo{}
entity Modulo{}
relationship OneToMany {
Cliente{clienteModulos} to ClienteModulo{cliente}
}
relationship ManyToOne {
ClienteModulo{modulo} to Modulo{clienteModulos}
}
将所需属性添加到 ClienteModulo 。