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