JPA работает таким образом, как обычно.
Ваша сущность Продукт должен быть оформлен так:
@OneToMany(mappedBy="imageId")
private List<Image> images;
Для любой другой таблицы вы просто указываете столбец mappedBy с правильным именем
Ваша сущность Изображение должно быть оформлено так:
@ManyToOne
@JoinColumn(name="imageId", nullable=false)
private Product product
Если вы хотите повторно использовать какую-то сущность, я думаю, что это невозможно.Лучше всего думать, что на самом деле не использовать отношения @xTox, они просто приносят боль