我有这个模型课:
public class Usuario {
...
@OneToMany(fetch = FetchType.EAGER)
@Fetch(FetchMode.SELECT)
private List<org.loja.model.credencial.Credencial> credenciais;
...
}
如果我将此注释添加到此属性:
@JoinColumn(unique=false)
导致未在数据库上创建表usuario_credenciais
(这是在省略注释的情况下,但是由于唯一性的情况而在运行时引起问题)。
我该怎么解决?
我解决了将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;
现在在数据库上创建表,并且该应用程序允许多个用户具有相同的凭据。