У меня есть ситуация, когда у меня такие отношения:
У человека есть один или несколько адресов.
У клиента есть один или несколько адресов.
Персона, клиенты и адреса - это отдельные таблицы.
Раньше я делал это с отношениями @OneToMany.
Это создает мне проблемы, поскольку наш гибкий клиент отправляет мне объекты, которые созданы в клиенте и должны быть созданы в БД.
Если клиент отправляет мне человека и клиента, которые ссылаются на один и тот же адрес, Hibernate создаст два объекта адреса, поскольку два объекта адреса не являются одинаковыми объектами Java (не одинаковыми указателями).
Эта проблема вызвана BlazeDS и Dozer, которые будут создавать новые объекты при отправке на сервер.
Так что я хотел бы иметь адресный идентификатор в объекте person и customer без отношения, чтобы hibernate не создавал объекты. Но когда я читаю объект person, я хотел бы заполнить временный адресный объект на основе сохраненного идентификатора адреса.
Кто-нибудь знает, возможно ли это?