在使用 Spring Data JPA 自定创建数据表时,出现了如下错误 :
Table [sys_user] contains logical column name [pool_id] referenced by multiple physical column names: [pool_id], [poolId]
原因如提示内容,直接翻译就可以,就是说 pool_id 字段在表 sys_user 中对应了多个字段。
先确认 在 SysUser 实体中确实不存在 两个或者多个 poolId 字段。
解决办法(可能还有其他的情况,如下的解决办法搞不定,有问题评论联系我):
在 sysUser 实体中 poolId 字段添加注解:
@Column(name = "sys_pool_id")
完整的如下:
@JsonIgnore
@ManyToOne(cascade = { javax.persistence.CascadeType.REFRESH }, fetch = javax.persistence.FetchType.LAZY)
@JoinColumn(name = "sys_pool_id", nullable = false)
private SysPool sysPool;
/**
* 池 id
*/
@Column(name = "sys_pool_id", insertable = false, updatable = false, nullable = false)
private Long sysPoolId;