Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Пара вопросов по идеологии ООП при работе с БД / 7 сообщений из 7, страница 1 из 1
07.08.2007, 16:24:36
    #34711394
coderinside
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пара вопросов по идеологии ООП при работе с БД
1) Интерфейс Seriazible
Если базовый класс реализует этот интерфейс но объекта такого класса создано никогда не будет, создаваться и сохраняться в БД будут только его потомки, нужно ли в этом случае генерировать serialVersionUID в этом базовом классе? Или его нужно генерировать только в классах-потомках?
Пример: Human, производные классы User и Contact.
Какие классы должны реализовывать интерфейс Serialize и в каких из них необходимо генерировать serialVersionUID?

2) Пример тот-же. Т.е. базовый класс Human, производные классы User и Contact. Поле id со свойствами Integer getId() и void setId(Integer id) логично поместить в Human (чтобы не писать его в User'e и Contact'e)? Подскажите будут ли в дальнейшем проблемы при mapping'e этих классов (User и Contact) в Hibernate? В них же ведь не будет ключевого поля, оно будет в базовом классе. Поймет ли это Hibernate? Или желательно вводить свое поле id в каждый класс?
...
Рейтинг: 0 / 0
07.08.2007, 16:43:36
    #34711504
vas0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пара вопросов по идеологии ООП при работе с БД
интерфейс Serializable нужно реализовывать если:
1. Объекты будут передаваться в remote вызовах
2. Чтобы сохранять их в HttpSession для кластерных сред

При серализации появляется несколько проблем. Допустим сохранил в файле несколько объектов Human, а этот класс изменил (добавил несколько полей, методов). Если теперь попытаешься из файла прочитать эти объекты (а там лежат старая версия), то получишь исключение. Константа serialVersionUID для того чтобы отслеживать разные версии.

по второму пункту: выносить в базовые классы общую функциональность полезно (и id в том числе), проблем с мапингом не будет. Только тип лучше сразу выбирать посолиднее long, а то вдруг системе суждено будет превратиться в очень большую и int может не хватить ;)
...
Рейтинг: 0 / 0
07.08.2007, 17:00:09
    #34711595
expp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пара вопросов по идеологии ООП при работе с БД
Serializable и Hibernate это как лифчик и бетономешалка ... ваще никак не связаны
...
Рейтинг: 0 / 0
07.08.2007, 17:05:51
    #34711618
Пара вопросов по идеологии ООП при работе с БД
exppSerializable и Hibernate это как лифчик и бетономешалка ... ваще никак не связаны
однако сериалайзабл нужно имплементировать в энтитях.
...
Рейтинг: 0 / 0
07.08.2007, 17:27:42
    #34711735
expp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пара вопросов по идеологии ООП при работе с БД
можешь не имплементить если не надо.

хибер кажется от ключей такого требует .... точно не помню
...
Рейтинг: 0 / 0
07.08.2007, 18:27:34
    #34712034
coderinside
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пара вопросов по идеологии ООП при работе с БД
exppSerializable и Hibernate это как лифчик и бетономешалка ... ваще никак не связаны
Ок. С Seriazible прояснилось. Смотрел на примеры от Spring'a, там каждый сохраняемый в БД объект реализует Seriazible (JPetStore), вот и спросил :) Может есть в чем смысл?
...
Рейтинг: 0 / 0
07.08.2007, 18:37:14
    #34712069
expp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пара вопросов по идеологии ООП при работе с БД
да может просто так. по традиции

он же денех не просит. может пригодиться для удалённых вызовов и что объекты в http-сессию кидать
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Пара вопросов по идеологии ООП при работе с БД / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]