Я работаю над API для доступа к данным, хранящимся в системе. Система содержит такие вещи, как люди, встречи и процедуры, связанные с этими встречами. Мое приложение строго будет доступно только для чтения.POJO с другими ссылками POJO
Я использую Spring w/RowMapper для создания таких объектов, как «Person
», «Appointment
» и «Procedure
». У меня есть DAO для каждого элемента. (то есть: PersonDAO.getById()
, PersonDAO.getByName()
, ..).
Проблема заключается в том, что Appointment
имеет ссылку на объект Person
. Было бы хорошо, если бы объект Person
имел ссылку на назначение Person
, но если я начну их загружать, он станет круговой ссылкой.
Итак, я думаю, мой вопрос - это правильный способ справиться с этим, просто поместите ссылки (идентификаторы) в POJO, а затем на бизнес-уровне (?) Просто сделайте правильные звонки, чтобы получить информацию? Или это нормально каким-то образом передать ссылку на DAO в фактическом POJO, чтобы я мог лениво загружать объекты объекта при ссылке? Но тогда как вы справляетесь с круговой ссылкой? Когда у меня есть Person
, и я лениво загружаю все их встречи, у этих встреч также будет связанный с ними Человек. Когда я загружаю этот Person
, он может потенциально иметь информацию о различиях от Person
Я загружаю Назначения для.
Person
(объект x) ленивая нагрузка -> Назначения могут лениво загрузить Person
(объект x ').
С Person
, возможно, изменилось к тому времени, когда я пошел лениво загружать их встречи. Мне действительно нужен объект Person
в Appointment
, чтобы обратиться к тому же объекту Person
.
Я получаю все от этого. Я знаю, что могу просто «заставить его работать», но я хочу попытаться найти хорошее решение. Я думал об использовании спячки для этого, но думал, что это действительно просто избыток. Возможно, это не так.
Как и слово "неудобный". – BalusC
Вы можете использовать его в любое удобное для вас время :) – skaffman
Спасибо. Я это проверю. Мне нужно просто провести время, чтобы погрузиться в спячку. –