У меня есть следующая конфигурация и код в моем весеннем загрузочном приложении, но я не получаю ограничение внешнего ключа в mysql, может кто-нибудь помочь, пожалуйста.
Класс Stock: -
@Entity(name = "stock")
public class Stock {
@Id
@Column(name = "p_id")
private String productId;
@Column(name="p_desc")
private String productDescription;
@Column(name="p_quantity")
private double productQuantityInStock;
@Column(name = "p_threshold")
private double productThresholdQuantity;
@OneToOne( cascade = CascadeType.ALL)
@JoinColumn(foreignKey = @ForeignKey(name = "fk_productPrice"),referencedColumnName = "pr_id")
private ProductPrice productPrice;
@ManyToMany(mappedBy = "listOfProducts")
private Set<OrderList> orderLists;
public String getProductId() {
return productId;
}
public void setProductId(String productId) {
this.productId = productId;
}
public String getProductDescription() {
return productDescription;
}
public void setProductDescription(String productDescription) {
this.productDescription = productDescription;
}
public double getProductQuantityInStock() {
return productQuantityInStock;
}
public void setProductQuantityInStock(double productQuantityInStock) {
this.productQuantityInStock = productQuantityInStock;
}
public double getProductThresholdQuantity() {
return productThresholdQuantity;
}
public void setProductThresholdQuantity(double productThresholdQuantity) {
this.productThresholdQuantity = productThresholdQuantity;
}
public ProductPrice getProductPrice() {
return productPrice;
}
public void setProductPrice(ProductPrice productPrice) {
this.productPrice = productPrice;
}
}
Класс продукта: -
@Entity(name = "productprice")
public class ProductPrice {
@Id
@Column(name = "pr_id")
private String PriceId;
@Column(name="p_id")
private String ProductId;
@Column(name="price")
private double Price;
public String getPriceId() {
return PriceId;
}
public void setPriceId(String priceId) {
PriceId = priceId;
}
public String getProductId() {
return ProductId;
}
public void setProductId(String productId) {
ProductId = productId;
}
public double getPrice() {
return Price;
}
public void setPrice(double price) {
Price = price;
}
}
Project.properties
Журнал приложения для ограничений
Mysql DDL
Если вы видите mysql ddl, ограничения внешнего ключа нет.Я попробовал это со всеми возможными комбинациями в JoinColumn, и я не мог видеть Внешний ключ.И я узнал, что просто KEY
означает индекс в MySQL.Которого я не ожидаю.Любая помощь или материал или указания помогут.Спасибо