1. 程式人生 > >Table [] contains logical column name [] referenced by multiple physical column names: [], [] 建表異常

Table [] contains logical column name [] referenced by multiple physical column names: [], [] 建表異常

在使用 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;