За съжаление не показвате съдържанието на addAddress
. Тъй като вашата асоциация е двупосочна, задавате ли "двете страни на връзката" в този метод? Нещо като това:
@Entity
public class Contact {
...
@OneToMany(mappedBy="contact", cascade=CascadeType.PERSIST)
private List<Address> addresses = new ArrayList<Address>();
public void addToAddresses(Address address) {
address.setContact(this);
this.addresses.add(address);
}
}