添加 JoinColumn 注释时未在数据库上创建实体
Entity is not being created on database when JoinColumn annotation is added
我有这个型号class:
public class Usuario {
...
@OneToMany(fetch = FetchType.EAGER)
@Fetch(FetchMode.SELECT)
private List<org.loja.model.credencial.Credencial> credenciais;
...
}
如果我将此注释添加到此属性:
@JoinColumn(unique=false)
导致 table 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;
现在 table 已在数据库上创建,应用程序允许多个用户拥有相同的凭据。
我有这个型号class:
public class Usuario {
...
@OneToMany(fetch = FetchType.EAGER)
@Fetch(FetchMode.SELECT)
private List<org.loja.model.credencial.Credencial> credenciais;
...
}
如果我将此注释添加到此属性:
@JoinColumn(unique=false)
导致 table 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;
现在 table 已在数据库上创建,应用程序允许多个用户拥有相同的凭据。