Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Фаулер. Concrete table inheritance / 25 сообщений из 77, страница 1 из 4
09.10.2019, 13:30
    #39873961
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
В Concrete table inheritance(в хибере это НЕ дефолт) для каждого конкретного класса иерархии создаётся таблица БД со всем полями класса и всех его предков.

Фаулер пишет, что при таком раскладе во всех таблицах должны использоваться идентификаторы уникальные в рамках иерархии

Теперь про проблему:

Есть иерархия наследования:


игрок <== футболист
-------- <== баскетболист

В итоге в базе 2 таблицы футболист и баскетболист

Затем в коде мы делаем объект благотворительная акция, куда цепляем список игроков(причем один игрок может участвовать в нескольких благотворительных акциях).

Автор пишет, что одно из решений это сделать таблицу связку для каждой таблицы соответсвующей конкретному класса(футболист, баскетболист), но по очевидным причинам это не очень эффективно. А какие-то ещё есть варианты?

Я из текста вообще не понял когда такой подход будет хорош.
...
Рейтинг: 0 / 0
09.10.2019, 13:41
    #39873980
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
также вызывает вопросы следузщее утверждение:


Если поля классов домена перемещаются в суперклассы или производные классы, придётся вносить изменения в определения таблиц. Эти изменения будут не так часты, как в случае наследования с таблицами для каждого класса, однако их нельзя просто игнорировать, как было в случае с наследованием с одной таблицей.

спортcмен(Абстрактный класс)<==== конькобежец(конкретный класс)<===== хоккеист(конкретный класс)


итого имеем 2 таблицы для конькобежцев и для хоккеистов

1. переместили поле из спортсмена в конькобежца

Вроде никаких изменений в таблице не надо делать

2. переместили поле из конькобежца в хоккеиста

таблица хоккеиста остаётся неизменной

из конькобежца вырезаем поле

3. переместили поле из хоккеиста в конькобежца

добавляем поле в конькобежца

таблица хоккеиста остаётся неизменной

4. переместили поле из конькобежца в спортcмена

ничего не делаем

То есть что-то меняется только для конкретных классов, которые не являются листьями. Правильно я понял?
...
Рейтинг: 0 / 0
09.10.2019, 13:46
    #39873987
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
questionerТеперь про проблему:то есть для умолчания в хибере проблемы не будет?
Почему не рассмотрели?
...
Рейтинг: 0 / 0
09.10.2019, 13:47
    #39873988
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
PetroNotC SharpquestionerТеперь про проблему:то есть для умолчания в хибере проблемы не будет?
Почему не рассмотрели?

По умолчанию не будет. Что рассмотреть? вообще вопрос не по существу.
...
Рейтинг: 0 / 0
09.10.2019, 13:49
    #39873989
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
questionerВ Concrete table inheritance(в хибере это НЕ дефолт)это плохой метод.
Зачем его обсуждать?
...
Рейтинг: 0 / 0
09.10.2019, 13:56
    #39873998
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
questionerЯ из текста вообще не понял когда такой подход будет хорош.вы с фаулером втыкаете наследование в рсубд.
Это вообще не есть хорошо. Поэтому и компромиссы и костыли и куча вопросов.
...
Рейтинг: 0 / 0
09.10.2019, 14:02
    #39874003
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
PetroNotC SharpquestionerЯ из текста вообще не понял когда такой подход будет хорош.вы с фаулером втыкаете наследование в рсубд.
Это вообще не есть хорошо. Поэтому и компромиссы и костыли и куча вопросов.

Вопросы предполагают ответы. В данном топике обсуждаются конкретные вопросы.
...
Рейтинг: 0 / 0
09.10.2019, 14:06
    #39874009
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
questioner,
Правильно я понял, что мне нужно обосновать выключение основного режима хибера?
При котором он эффективнее работает?
...
Рейтинг: 0 / 0
09.10.2019, 14:07
    #39874010
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
PetroNotC SharpquestionerВ Concrete table inheritance(в хибере это НЕ дефолт)это плохой метод.
Зачем его обсуждать?

Фаулер такого не написал. Из текста мне тоже показалось, что это не лучшее решение, но сорян, где ты, где я и где Фаулер.
...
Рейтинг: 0 / 0
09.10.2019, 14:08
    #39874012
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
PetroNotC Sharpquestioner,
Правильно я понял, что мне нужно обосновать выключение основного режима хибера?
При котором он эффективнее работает?

Не надо иметь семи пядей во лбу, чтобы понять, что эффективность зависит от решаемой задачи и в каких-то случаях, по всей видимости, она должна иметь преимущества.
...
Рейтинг: 0 / 0
09.10.2019, 14:12
    #39874017
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
questioner,
Это как в школе вопрос:
- На чем поедешь?
- На машине!
- Машина сломалась.
- Тогда пешком!
- Ног нету....
- Тогда поползу!
....
))))
...
Рейтинг: 0 / 0
09.10.2019, 14:14
    #39874019
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
PetroNotC Sharpquestioner,
Это как в школе вопрос:
- На чем поедешь?
- На машине!
- Машина сломалась.
- Тогда пешком!
- Ног нету....
- Тогда поползу!
....
))))

Твоё умение что-то брякнуть, даже если сказать нечего - поражает.
...
Рейтинг: 0 / 0
09.10.2019, 14:22
    #39874030
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
questionerТвоё умение что-то брякнуть, даже если сказать нечего - поражает.
Вот у тебя - смотрю в книгу, вижу фигу лучше?
...
Рейтинг: 0 / 0
09.10.2019, 14:24
    #39874033
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
questioner,
Вроде mayton тебе говорил - не относиль к словам фаулера слишком серьезно.
...
Рейтинг: 0 / 0
09.10.2019, 14:38
    #39874049
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
PetroNotC SharpquestionerТвоё умение что-то брякнуть, даже если сказать нечего - поражает.
Вот у тебя - смотрю в книгу, вижу фигу лучше?

Так я и пришёл с посылом, что вот я не понимаю - объясните, пожалуйста те, кто может. Почему отвечает только тот, кто не может - не поддаётся объяснению.
...
Рейтинг: 0 / 0
09.10.2019, 14:55
    #39874075
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
questioner,
Мне больше импонирует чел с цветочным магазином. Он без лени трудится.
Ты же жди ответов. Результат равен нулю.
Удачи!
...
Рейтинг: 0 / 0
09.10.2019, 15:41
    #39874145
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
questionerЕсть иерархия наследования:

игрок <== футболист
-------- <== баскетболист

В итоге в базе 2 таблицы футболист и баскетболист

- Вам надо три таблицы, еще и родительскую "игрок"

Затем в коде мы делаем объект благотворительная акция, куда цепляем список игроков(причем один игрок может участвовать в нескольких благотворительных акциях).

questionerА какие-то ещё есть варианты?
- цепляйте связь с "благотворительными акциями" к родительской таблице "игрок"
...
Рейтинг: 0 / 0
09.10.2019, 15:50
    #39874152
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
Kachalov- Вам надо три таблицы, еще и родительскую "игрок"


Не надо по этому типовому решению. тут только для конкретных классов требуется таблица
...
Рейтинг: 0 / 0
09.10.2019, 15:57
    #39874163
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
questionerНе надо по этому типовому решению. тут только для конкретных классов требуется таблица
- пожалуйста, Вам видней
...
Рейтинг: 0 / 0
09.10.2019, 16:06
    #39874171
questioner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
KachalovquestionerНе надо по этому типовому решению. тут только для конкретных классов требуется таблица
- пожалуйста, Вам видней

В этом и суть вопроса просто)
...
Рейтинг: 0 / 0
09.10.2019, 17:18
    #39874224
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
questioner, давай приводи полную цитату Фаулера. А то получается как в анекдоте
про Рабиновича который Шаляпина напел.
...
Рейтинг: 0 / 0
09.10.2019, 19:07
    #39874265
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
questionerигрок <== футболист
-------- <== баскетболист

В итоге в базе 2 таблицы футболист и баскетболист
И схему пусть рисует нормально.
...
Рейтинг: 0 / 0
09.10.2019, 20:04
    #39874296
asv79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
непонятна суть проблемы афтара
есть супер класс
от него наследуются две сущности
потом табла с мероприятием куда подятигиваются наследники супер класса
в чем у афатара проблема?
...
Рейтинг: 0 / 0
09.10.2019, 20:10
    #39874299
asv79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
KachalovquestionerЕсть иерархия наследования:

игрок <== футболист
-------- <== баскетболист

В итоге в базе 2 таблицы футболист и баскетболист

- Вам надо три таблицы, еще и родительскую "игрок"

Затем в коде мы делаем объект благотворительная акция, куда цепляем список игроков(причем один игрок может участвовать в нескольких благотворительных акциях).

questionerА какие-то ещё есть варианты?
- цепляйте связь с "благотворительными акциями" к родительской таблице "игрок"
дядь ты бы изучил для начала hibernate inheritance
если делать три таблицы,тогда нахрен вообще это свойство хибера))

суть этого действа в том,что ты определяешь в супер классе общие поля,а в налслдниках частные и при создании новой сущности автоматически производится запись в той табле,к которой принадлежит сущность
...
Рейтинг: 0 / 0
09.10.2019, 20:24
    #39874304
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Фаулер. Concrete table inheritance
asv79в чем у афатара проблема?в анализе двух вариантов наследования.
Хотя ТС сопротивляется, но анализ нельзя делать не сравнивая одно с другим.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Фаулер. Concrete table inheritance / 25 сообщений из 77, страница 1 из 4
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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