org.hibernate.MappingException: Could not determine type for: java.util.Set, at table: USERS, for columns: [org.hibernate.mapping.Column(invoices)]
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 @JoinColumn(name=”INVOICE_ID”, nullable=false) from getInvoices() to private Set<Invoice> invoices; This pattern should be applied to your Invoice class as well