если (контакт является отношением один-ко-многим)
@OneToMany
@JoinColumn(name="object_id",referencedColumnName="id" ,insertable=false, updatable=false)
private List<Vendor> vendors;
@OneToMany
@JoinColumn(name="object_id",referencedColumnName="id",insertable=false, updatable=false)
private List<Customer> customer;
Иначе, если контакт много к одному, то вместо класса контакта определите внешние ключи в классах поставщиков и клиентов, каждый из которых будетиметь поле типа
@OneToMany
@JoinColumn(name="id",referencedColumnName="object_id" ,insertable=false, updatable=false)
private List<Contact> contacts;
Также следите за LazyFetch или лучше установить его на false
@LazyCollection(LazyCollectionOption.FALSE)