Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Entity. Сложный объект через getter()


Автор: chief39 21.7.2006, 14:25

Суть в том, что в базе хранится, к примеру, стринг.

Но все операции "наверху" будут происходить со сложным типом.
Который в себе содержит этот стринг и дополнительную общую информацию...

Хотелось бы не выносить это за пределы entity, атак, чтобы эту логику скрыть в нём.

То есть в методе entity getXxx получать стринг из базы, забивать его в свой объект, дополнять общей инфой и отдавать не String, а MyObject этим геттером.
Аналогично и для сеттера.

Возникает вопрос: можно ли определить геттер не абстрактным, и как тогда в нём получать значение стринга из БД? 
 

Автор: MisterCleric 21.7.2006, 15:14
А ты все инкапсулируй в EJB, который для формирования этой Entity обращаеться к Hibernate/ а вот в Entity укажи этот геттер как  @Transient
Я так в сущности беру файл по его имени из БД. а сам файл уже формирую в EJB 

Автор: chief39 21.7.2006, 17:11
Цитата(MisterCleric @  21.7.2006,  15:14 Найти цитируемый пост)
А ты все инкапсулируй в EJB

Не понял сути smile

Цитата(MisterCleric @  21.7.2006,  15:14 Найти цитируемый пост)
обращаеться к Hibernate/

Хибернейта нет. энтити бинз онли. 

Цитата(MisterCleric @  21.7.2006,  15:14 Найти цитируемый пост)
@Transient

без нотаций.


Ты имеешь в виду, тянуть плэйн объект из энтити и обернуть всё это уже сессион-бином, который будет запихивать его в сложный объект?


 

Автор: chief39 21.7.2006, 19:08
abstract менять нельзя.... :-/

Можно добавить рядом неабстрактный необходимый метод, а в нём тягать имеющийся абстрактный геттер.

Теперь другая вопросина: можно ли абстрактный оставить friendly чтоб снаружи не видно было этого метода? будет ли бин нормально функционироват ьво всех ситуациях? 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)