I'm using one to many relationship with hibernate and spring boot and I'm getting this error
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'invoice_id' cannot be null
My Entity classes
Invoice.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;
}
Product.java
@Entity
@Table
public class Product {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column
private int product_id;
@ManyToOne
@JoinColumn(name="invoice_id")
private Invoice invoice;
}
For creating invoice I need to create products so when I try to save Product I'm getting error
ProductService.java
@Service
public class ProductService {
@Autowired
private ProductRepository productRepository;
public void saveProduct(Product product){
product.setDate(new Date());
product.setStatus("Active");
productRepository.save(product);
}
}
Am I using annotations correct way?
@Column(name="invoice_id")
Either rename it to
@Column(name="id")
or remove it.