|
|
|
Пара вопросов по идеологии ООП при работе с БД
|
|||
|---|---|---|---|
|
#18+
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 в каждый класс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 16:24:36 |
|
||
|
Пара вопросов по идеологии ООП при работе с БД
|
|||
|---|---|---|---|
|
#18+
интерфейс Serializable нужно реализовывать если: 1. Объекты будут передаваться в remote вызовах 2. Чтобы сохранять их в HttpSession для кластерных сред При серализации появляется несколько проблем. Допустим сохранил в файле несколько объектов Human, а этот класс изменил (добавил несколько полей, методов). Если теперь попытаешься из файла прочитать эти объекты (а там лежат старая версия), то получишь исключение. Константа serialVersionUID для того чтобы отслеживать разные версии. по второму пункту: выносить в базовые классы общую функциональность полезно (и id в том числе), проблем с мапингом не будет. Только тип лучше сразу выбирать посолиднее long, а то вдруг системе суждено будет превратиться в очень большую и int может не хватить ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 16:43:36 |
|
||
|
Пара вопросов по идеологии ООП при работе с БД
|
|||
|---|---|---|---|
|
#18+
Serializable и Hibernate это как лифчик и бетономешалка ... ваще никак не связаны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 17:00:09 |
|
||
|
Пара вопросов по идеологии ООП при работе с БД
|
|||
|---|---|---|---|
|
#18+
exppSerializable и Hibernate это как лифчик и бетономешалка ... ваще никак не связаны однако сериалайзабл нужно имплементировать в энтитях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 17:05:51 |
|
||
|
Пара вопросов по идеологии ООП при работе с БД
|
|||
|---|---|---|---|
|
#18+
можешь не имплементить если не надо. хибер кажется от ключей такого требует .... точно не помню ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 17:27:42 |
|
||
|
Пара вопросов по идеологии ООП при работе с БД
|
|||
|---|---|---|---|
|
#18+
exppSerializable и Hibernate это как лифчик и бетономешалка ... ваще никак не связаны Ок. С Seriazible прояснилось. Смотрел на примеры от Spring'a, там каждый сохраняемый в БД объект реализует Seriazible (JPetStore), вот и спросил :) Может есть в чем смысл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2007, 18:27:34 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34711394&tid=2144970]: |
0ms |
get settings: |
12ms |
get forum list: |
17ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
47ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 340ms |
| total: | 506ms |

| 0 / 0 |
