我得到数据绑定错误。错误发生在连接manyToOne和oneToMany之后。我怀疑这一点。
- 产品类包含属于类别和供应商的多个记录(罗斯文数据库)
- 错误:**
at com.fasterxml.jackson.databind.ser.std.CollectionSerializer.serialize(CollectionSerializer.java:25) ~[jackson-databind-2.13.4.2.jar:2.13.4.2]
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) ~[jackson-databind-2.13.4.2.jar:2.13.4.2]
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:774) ~[jackson-databind-2.13.4.2.jar:2.13.4.2]
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) ~[jackson-databind-2.13.4.2.jar:2.13.4.2]
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) ~[jackson-databind-2.13.4.2.jar:2.13.4.2]
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:774) ~[jackson-databind-2.13.4.2.jar:2.13.4.2]
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) ~[jackson-databind-2.13.4.2.jar:2.13.4.2]
当我在此处添加连接注解时,问题就开始了:
- 产品实体:**
package com.JpaTraining.JpaTraining.entities.concretes;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import lombok.Data;
@Entity
@Data
@Table(name = "products")
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "product_id")
private int productId;
@Column(name = "product_name")
private String productName;
@ManyToOne
@JoinColumn(name = "supplier_id")
private Supplier supplier;
@ManyToOne
@JoinColumn(name = "category_id")
private Category category;
@Column(name = "unit_price")
private double unitPrice;
@Column(name = "units_in_stock")
private int unitsInStock;
public Product() {
}
public Product(int productId, String productName, Supplier supplier, Category category, double unitPrice,
int unitsInStock) {
this.productId = productId;
this.productName = productName;
this.supplier = supplier;
this.category = category;
this.unitPrice = unitPrice;
this.unitsInStock = unitsInStock;
}
}
- 类别实体:**
package com.JpaTraining.JpaTraining.entities.concretes;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import lombok.Data;
@Entity
@Data
@Table(name = "categories")
public class Category {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "category_id")
private int categoryId;
@Column(name = "category_name")
private String categoryName;
@OneToMany(mappedBy = "category")
private List<Product> product;
public Category() {
}
public Category(int categoryId, String categoryName, List<Product> product) {
this.categoryId = categoryId;
this.categoryName = categoryName;
this.product = product;
}
}
- 供应商实体:**
package com.JpaTraining.JpaTraining.entities.concretes;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import lombok.Data;
@Entity
@Data
@Table(name = "suppliers")
public class Supplier {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "supplier_id")
private int supplierId;
@Column(name = "company_name")
private String supplierName;
@OneToMany(mappedBy = "supplier")
private List<Product> product;
public Supplier() {
}
public Supplier(int supplierId, String supplierName, List<Product> product) {
this.supplierId = supplierId;
this.supplierName = supplierName;
this.product = product;
}
}
- 字符集:**
第一次
1条答案
按热度按时间k75qkfdt1#
在Product和Category类别中,您可以省略两个字段:个人列表产品,然后重试:链接引用link