添加JoinColumn注释时未在数据库上创建实体

问题描述 投票:1回答:1

我有这个模型课:

public class Usuario {
...
  @OneToMany(fetch = FetchType.EAGER)
  @Fetch(FetchMode.SELECT)
  private List<org.loja.model.credencial.Credencial> credenciais;
...
}

如果我将此注释添加到此属性:

@JoinColumn(unique=false)

导致未在数据库上创建表usuario_credenciais(这是在省略注释的情况下,但是由于唯一性的情况而在运行时引起问题)。

我该怎么解决?

spring hibernate one-to-many joincolumn
1个回答
0
投票

我解决了将OneToMany批注更改为ManyToOne的方法:

  @ManyToMany(fetch = FetchType.EAGER)
  @JoinTable(name="usuario_credenciais", joinColumns={@JoinColumn(name="usuario_id")}, inverseJoinColumns={@JoinColumn(name="credencial_id")})
  @Fetch(FetchMode.SELECT)
  private List<org.loja.model.credencial.Credencial> credenciais;

现在在数据库上创建表,并且该应用程序允许多个用户具有相同的凭据。

© www.soinside.com 2019 - 2024. All rights reserved.