If I remember correctly, Hibernate doesn’t let you mix and match annotation in conjunction with field / getter. If your @Id
annotation is set over a field, all your mappings should follow fields. Try moving @OneToMany
from
@JoinColumn(name="INVOICE_ID", nullable=false)getInvoices()
to private Set<Invoice> invoices;
This pattern should be applied to your Invoice
class as well