1

我有这个模型类:

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

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

@JoinColumn(unique=false)

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

我能做些什么来解决这个问题?

4

1 回答 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;

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

于 2019-11-20T13:17:34.903 回答