[英]Spring hibernate does not find column of onetomany relationship
所以這是一個接近我的實際代碼的例子:
@Entity
@Table(name="Products")
@Data
public class Product{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="productno")
private long ID;
@Column(name="name")
private String productName;
private ProductCategory category;
}
@Entity
@Table(name="Category")
@Data
public class ProductCategory{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="categoryno")
private long ID;
@Column(name="name")
private String categoryName;
@OneToMany
@JoinColumn(name="category")
private List<Product> product;
}
以及一個 thymeleaf 模板,它使用 th:each 在表格中顯示一堆
以及將數據發送到這些模板的 controller。 這些模板已經過測試,它們應該可以工作。
問題是,當bootRun
和打開頁面時,我得到一個錯誤:
SQL.SyntaxErrorException: Unknown column 'product0_.productCategory_category'
查看此錯誤,似乎它試圖將連接列名稱讀取為productCategory_category
而不僅僅是category
(這是所需的)
@JoinColumn
需要 go 在ProductCategory
字段上的 Product class 和name="categoryno"
所以我已經解決了這個問題
@Entity
@Table(name="Products")
@Data
public class Product{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="productno")
private long ID;
@Column(name="name")
private String productName;
@ManyToOne
@JoinColumn(name="category", referencedColumnName="categoryno")
private ProductCategory category;
}
@Entity
@Table(name="Category")
@Data
public class ProductCategory{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="categoryno")
private long ID;
@Column(name="name")
private String categoryName;
@OneToMany(mappedBy="category")
private List<Product> product;
}
我不知道為什么會這樣,但是嘿:魔法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.