我正在使用与 hibernate 和 spring boot 的一对多关系,但出现此错误
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:列“invoice_id”不能为空
我的实体类
发票.java
@Entity
@Table
public class Invoice {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="invoice_id")
private int id;
@OneToMany(mappedBy = "invoice")
private List<Product> products;
}
产品.java
@Entity
@Table
public class Product {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column
private int product_id;
@ManyToOne
@JoinColumn(name="invoice_id")
private Invoice invoice;
}
为了创建发票,我需要创建产品,因此当我尝试保存产品时出现错误
产品服务.java
@Service
public class ProductService {
@Autowired
private ProductRepository productRepository;
public void saveProduct(Product product){
product.setDate(new Date());
product.setStatus("Active");
productRepository.save(product);
}
}
我使用注释的方式正确吗?
@Column(name="invoice_id")
要么将其重命名为
@Column(name="id")
或删除它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句