Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3 4      [все]
 Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
В Concrete table inheritance(в хибере это НЕ дефолт) для каждого конкретного класса иерархии создаётся таблица БД со всем полями класса и всех его предков.

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

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

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


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

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

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

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

Я из текста вообще не понял когда такой подход будет хорош.
9 окт 19, 13:30    [21990356]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
также вызывает вопросы следузщее утверждение:


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

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


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

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

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

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

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

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

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

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

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

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

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

То есть что-то меняется только для конкретных классов, которые не являются листьями. Правильно я понял?
9 окт 19, 13:41    [21990377]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
questioner
Теперь про проблему:
то есть для умолчания в хибере проблемы не будет?
Почему не рассмотрели?
9 окт 19, 13:46    [21990386]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
PetroNotC Sharp
questioner
Теперь про проблему:
то есть для умолчания в хибере проблемы не будет?
Почему не рассмотрели?


По умолчанию не будет. Что рассмотреть? вообще вопрос не по существу.
9 окт 19, 13:47    [21990387]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
questioner
В Concrete table inheritance(в хибере это НЕ дефолт)
это плохой метод.
Зачем его обсуждать?
9 окт 19, 13:49    [21990389]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
questioner
Я из текста вообще не понял когда такой подход будет хорош.
вы с фаулером втыкаете наследование в рсубд.
Это вообще не есть хорошо. Поэтому и компромиссы и костыли и куча вопросов.
9 окт 19, 13:56    [21990405]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
PetroNotC Sharp
questioner
Я из текста вообще не понял когда такой подход будет хорош.
вы с фаулером втыкаете наследование в рсубд.
Это вообще не есть хорошо. Поэтому и компромиссы и костыли и куча вопросов.


Вопросы предполагают ответы. В данном топике обсуждаются конкретные вопросы.
9 окт 19, 14:02    [21990414]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
questioner,
Правильно я понял, что мне нужно обосновать выключение основного режима хибера?
При котором он эффективнее работает?
9 окт 19, 14:06    [21990420]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
PetroNotC Sharp
questioner
В Concrete table inheritance(в хибере это НЕ дефолт)
это плохой метод.
Зачем его обсуждать?


Фаулер такого не написал. Из текста мне тоже показалось, что это не лучшее решение, но сорян, где ты, где я и где Фаулер.
9 окт 19, 14:07    [21990421]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
PetroNotC Sharp
questioner,
Правильно я понял, что мне нужно обосновать выключение основного режима хибера?
При котором он эффективнее работает?


Не надо иметь семи пядей во лбу, чтобы понять, что эффективность зависит от решаемой задачи и в каких-то случаях, по всей видимости, она должна иметь преимущества.
9 окт 19, 14:08    [21990424]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
questioner,
Это как в школе вопрос:
- На чем поедешь?
- На машине!
- Машина сломалась.
- Тогда пешком!
- Ног нету....
- Тогда поползу!
....
))))
9 окт 19, 14:12    [21990429]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
PetroNotC Sharp
questioner,
Это как в школе вопрос:
- На чем поедешь?
- На машине!
- Машина сломалась.
- Тогда пешком!
- Ног нету....
- Тогда поползу!
....
))))


Твоё умение что-то брякнуть, даже если сказать нечего - поражает.
9 окт 19, 14:14    [21990433]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
questioner
Твоё умение что-то брякнуть, даже если сказать нечего - поражает.

Вот у тебя - смотрю в книгу, вижу фигу лучше?
9 окт 19, 14:22    [21990447]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
questioner,
Вроде mayton тебе говорил - не относиль к словам фаулера слишком серьезно.
9 окт 19, 14:24    [21990451]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
PetroNotC Sharp
questioner
Твоё умение что-то брякнуть, даже если сказать нечего - поражает.

Вот у тебя - смотрю в книгу, вижу фигу лучше?


Так я и пришёл с посылом, что вот я не понимаю - объясните, пожалуйста те, кто может. Почему отвечает только тот, кто не может - не поддаётся объяснению.
9 окт 19, 14:38    [21990470]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
questioner,
Мне больше импонирует чел с цветочным магазином. Он без лени трудится.
Ты же жди ответов. Результат равен нулю.
Удачи!
9 окт 19, 14:55    [21990504]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
Kachalov
Member

Откуда: Москва
Сообщений: 5688
questioner
Есть иерархия наследования:

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

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

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

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

questioner
А какие-то ещё есть варианты?

- цепляйте связь с "благотворительными акциями" к родительской таблице "игрок"
9 окт 19, 15:41    [21990590]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

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


Не надо по этому типовому решению. тут только для конкретных классов требуется таблица
9 окт 19, 15:50    [21990597]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
Kachalov
Member

Откуда: Москва
Сообщений: 5688
questioner
Не надо по этому типовому решению. тут только для конкретных классов требуется таблица

- пожалуйста, Вам видней
9 окт 19, 15:57    [21990611]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
Kachalov
questioner
Не надо по этому типовому решению. тут только для конкретных классов требуется таблица

- пожалуйста, Вам видней


В этом и суть вопроса просто)
9 окт 19, 16:06    [21990619]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
mayton
Member

Откуда: loopback
Сообщений: 43283
questioner, давай приводи полную цитату Фаулера. А то получается как в анекдоте
про Рабиновича который Шаляпина напел.
9 окт 19, 17:18    [21990707]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
questioner
игрок <== футболист
-------- <== баскетболист

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

И схему пусть рисует нормально.
9 окт 19, 19:07    [21990773]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2735
непонятна суть проблемы афтара
есть супер класс
от него наследуются две сущности
потом табла с мероприятием куда подятигиваются наследники супер класса
в чем у афатара проблема?
9 окт 19, 20:04    [21990822]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2735
Kachalov
questioner
Есть иерархия наследования:

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

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

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

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

questioner
А какие-то ещё есть варианты?

- цепляйте связь с "благотворительными акциями" к родительской таблице "игрок"

дядь ты бы изучил для начала hibernate inheritance
если делать три таблицы,тогда нахрен вообще это свойство хибера))

суть этого действа в том,что ты определяешь в супер классе общие поля,а в налслдниках частные и при создании новой сущности автоматически производится запись в той табле,к которой принадлежит сущность
9 окт 19, 20:10    [21990827]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
asv79
в чем у афатара проблема?
в анализе двух вариантов наследования.
Хотя ТС сопротивляется, но анализ нельзя делать не сравнивая одно с другим.
9 окт 19, 20:24    [21990836]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
asv79
если делать три
а ты нарисуй
9 окт 19, 20:25    [21990838]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
Kachalov
Member

Откуда: Москва
Сообщений: 5688
asv79
дядь ты бы изучил для начала hibernate inheritance
если делать три таблицы,тогда нахрен вообще это свойство хибера))

суть этого действа в том,что ты определяешь в супер классе общие поля,а в налслдниках частные и при создании новой сущности автоматически производится запись в той табле,к которой принадлежит сущность

- парниш, клал я на твой хибер. Или Фаулер - это специалист по Хиберу?

- а по существу: надо быть имбецилом, чтобы дублировать в таблицах поля, которые можно держать в одной таблице. Как минимум с точки зрения ООП это будет кретинизмом. С точки зрения РСУБД вопрос не однозначный - может быть лучше, может быть хуже, в зависимости от того какие запросы выполняются.
9 окт 19, 21:02    [21990852]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2735
Kachalov

- а по существу: надо быть имбецилом, чтобы дублировать в таблицах поля, которые можно держать в одной таблице. Как минимум с точки зрения ООП это будет кретинизмом..

ты судя по всему даже не поняд что такое hibernate i inheritance
нет ни какого дубляжа ,есть супер класс от котрого наследуются - от них таблы
ты можешь в супере прописать общие поля,в наследниках их поля
и далее создавать сущности как твоей душе угодно

ты попробуй это руками настучи и поймешь как это круто,хотя тут многие против inheritance
9 окт 19, 21:52    [21990870]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
Kachalov
asv79
дядь ты бы изучил для начала hibernate inheritance
если делать три таблицы,тогда нахрен вообще это свойство хибера))

суть этого действа в том,что ты определяешь в супер классе общие поля,а в налслдниках частные и при создании новой сущности автоматически производится запись в той табле,к которой принадлежит сущность

- парниш, клал я на твой хибер. Или Фаулер - это специалист по Хиберу?

- а по существу: надо быть имбецилом, чтобы дублировать в таблицах поля, которые можно держать в одной таблице. Как минимум с точки зрения ООП это будет кретинизмом. С точки зрения РСУБД вопрос не однозначный - может быть лучше, может быть хуже, в зависимости от того какие запросы выполняются.


о, эксперты подтянулись)
9 окт 19, 22:06    [21990883]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
mayton
questioner, давай приводи полную цитату Фаулера. А то получается как в анекдоте
про Рабиновича который Шаляпина напел.


завтра закину фотку книги, а то чего-то совсем не в ту степь ответы.
9 окт 19, 22:08    [21990885]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
Kachalov,
не благодари: https://habr.com/ru/post/337488/

В хибере кстати ещё 4-ая какая-то стратегия есть дополнительная относительно Фаулера - надо почитать.
9 окт 19, 22:11    [21990886]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
Kachalov
Member

Откуда: Москва
Сообщений: 5688
asv79
ты попробуй это руками настучи и поймешь как это круто,хотя тут многие против inheritance

- вероятно Вы не знаете про то что стратегий наследования в JPA (или на понятном Вам языке - в Хибере) три: TABLE_PER_CLASS, JOINED, SINGLE_TABLE. Лично я посоветовал ТСу JOINED, на мой взгляд, дублировать сложные отношения между таблицами хуже, чем лишние джойны, но ТСу видней (исходя из специфики и интенсивности запросов).
9 окт 19, 22:20    [21990888]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
Kachalov
asv79
ты попробуй это руками настучи и поймешь как это круто,хотя тут многие против inheritance

- вероятно Вы не знаете про то что стратегий наследования в JPA (или на понятном Вам языке - в Хибере) три: TABLE_PER_CLASS, JOINED, SINGLE_TABLE. Лично я посоветовал ТСу JOINED, на мой взгляд, дублировать сложные отношения между таблицами хуже, чем лишние джойны, но ТСу видней (исходя из специфики и интенсивности запросов).



Во-первых 4 стратегии, Во-вторых вопрос ТС-а звучит как что хотел сказать автор(Фаулер)
9 окт 19, 22:27    [21990891]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
забыл ник
Member

Откуда:
Сообщений: 3062
questioner
Kachalov
пропущено...

- вероятно Вы не знаете про то что стратегий наследования в JPA (или на понятном Вам языке - в Хибере) три: TABLE_PER_CLASS, JOINED, SINGLE_TABLE. Лично я посоветовал ТСу JOINED, на мой взгляд, дублировать сложные отношения между таблицами хуже, чем лишние джойны, но ТСу видней (исходя из специфики и интенсивности запросов).



Во-первых 4 стратегии, Во-вторых вопрос ТС-а звучит как что хотел сказать автор(Фаулер)

Так ему и пиши?
9 окт 19, 22:32    [21990895]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
забыл ник
questioner
пропущено...



Во-первых 4 стратегии, Во-вторых вопрос ТС-а звучит как что хотел сказать автор(Фаулер)

Так ему и пиши?


Фаулер общепризнан классиком. Причем эта книга наверное его самая известная. Коммюнити должно понимать о чем книга.
9 окт 19, 22:39    [21990900]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
Kachalov
Member

Откуда: Москва
Сообщений: 5688
questioner
Во-первых 4 стратегии, Во-вторых вопрос ТС-а звучит как что хотел сказать автор(Фаулер)

- 4 в хибере, а по факту все равно 3
- Фаулер не писал про хибер (тут вроде консенсус достигнут?)
- что хотел, то и сказал: вот мол какой есть шаблон, вот как можно наследование на РСУБД отмапить (Concrete Table Inheritance)
- что то я не вдупляю, у ТС конкретная проблема или он интересуется тем о чем думал Фаулер когда описывал паттерн?
9 окт 19, 22:48    [21990905]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
забыл ник
Member

Откуда:
Сообщений: 3062
questioner
забыл ник
пропущено...

Так ему и пиши?


Фаулер общепризнан классиком. Причем эта книга наверное его самая известная. Коммюнити должно понимать о чем книга.


Если чуть изучить Герменевтику, то можно понять, что то что имел ввиду автор и что поняли прочитавшие - это как говорится две большие разницы. И если интересует мнение автора - смотри мой совет выше. Если интересует все же комьюнити(частью которого и являются мемберы sql.ru) - то нефиг вякать.

Если по делу, то вся эта глава безнадежно устарела, но не в смысле теории а в смысле применения - никто в здравом уме не будет мапить наследование в БД. Поэтому знание этого = шлак, хочешь копаться в навозе - почитай спеки EJB 1.0, вот там веселье будет гарантированно.
9 окт 19, 22:49    [21990906]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
Kachalov
Member

Откуда: Москва
Сообщений: 5688
забыл ник
никто в здравом уме не будет мапить наследование в БД

- мапил, работает, проблем нет (если помнить какую стратегию использовал и учитывать это при написании запросов)
9 окт 19, 22:53    [21990911]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
забыл ник
Member

Откуда:
Сообщений: 3062
Kachalov
забыл ник
никто в здравом уме не будет мапить наследование в БД

- мапил, работает, проблем нет (если помнить какую стратегию использовал и учитывать это при написании запросов)

Ну и я мапил лет так 8 назад. А сейчас бы взял MongoDB и не парился
9 окт 19, 22:55    [21990914]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
забыл ник
questioner
пропущено...


Фаулер общепризнан классиком. Причем эта книга наверное его самая известная. Коммюнити должно понимать о чем книга.


Если чуть изучить Герменевтику, то можно понять, что то что имел ввиду автор и что поняли прочитавшие - это как говорится две большие разницы. И если интересует мнение автора - смотри мой совет выше. Если интересует все же комьюнити(частью которого и являются мемберы sql.ru) - то нефиг вякать.

Если по делу, то вся эта глава безнадежно устарела, но не в смысле теории а в смысле применения - никто в здравом уме не будет мапить наследование в БД. Поэтому знание этого = шлак, хочешь копаться в навозе - почитай спеки EJB 1.0, вот там веселье будет гарантированно.


Устарела настолько, что Хибер использует эти стратегии. Фаулер про фундаментальные вещи пишет.

забыл ник
Ну и я мапил лет так 8 назад. А сейчас бы взял MongoDB и не парился


Аргумент, ничего не скажешь
9 окт 19, 22:59    [21990917]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 2739
забыл ник
Kachalov
пропущено...

- мапил, работает, проблем нет (если помнить какую стратегию использовал и учитывать это при написании запросов)

Ну и я мапил лет так 8 назад. А сейчас бы взял MongoDB и не парился
Что значит "не парился"? BsonDocument-ми что-ли оперируете?
9 окт 19, 23:00    [21990918]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
Kachalov
Member

Откуда: Москва
Сообщений: 5688
забыл ник
MongoDB


Боже, пропал калабуховский дом! — в отчаянии воскликнул Филипп Филиппович и всплеснул руками
9 окт 19, 23:03    [21990920]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 2739
questioner
забыл ник
Ну и я мапил лет так 8 назад. А сейчас бы взял MongoDB и не парился


Аргумент, ничего не скажешь
в MongoDB можно полложить футболистов с баскетболистами в одну таблицу и они при этом будут иметь уникальные идентификаторы

P.S.: Фаулер кстати и про NoSQL пейсал не так давно
9 окт 19, 23:04    [21990922]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 2739
Kachalov
забыл ник
MongoDB


Боже, пропал калабуховский дом! — в отчаянии воскликнул Филипп Филиппович и всплеснул руками
Краем уха слышали про MongoDB, верно? Картинка с другого сайта.
9 окт 19, 23:05    [21990925]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
Kachalov
Member

Откуда: Москва
Сообщений: 5688
Дмитрий Мух
Краем уха слышали про MongoDB, верно?

- да, и почему то все больше в негативной коннотации) Но если говорить про дискуссию - вангую что вброс MongoDB ее превратит в десятки страниц флуда, не имеющего никакого отношения к теме топика (Фаулер писал о маппинге наследования на РСУБД)
9 окт 19, 23:15    [21990933]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 2739
Kachalov
Дмитрий Мух
Краем уха слышали про MongoDB, верно?

- да, и почему то все больше в негативной коннотации)
И сколько же лет прошло? :)
За это время и движков прибавилось, и транзакции появились, сессии, представления, валидация...
9 окт 19, 23:21    [21990938]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 2739
Kachalov
Но если говорить про дискуссию - вангую что вброс MongoDB ее превратит в десятки страниц флуда, не имеющего никакого отношения к теме топика (Фаулер писал о маппинге наследования на РСУБД)
Если против флуда, то может стоит самого Фаулера прочесть?

https://martinfowler.com/eaaCatalog/concreteTableInheritance.html
9 окт 19, 23:22    [21990939]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
Дмитрий Мух,
Читайте сами и не съезжайте на монго. Оффтоп.
9 окт 19, 23:25    [21990942]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
Kachalov
Member

Откуда: Москва
Сообщений: 5688
Дмитрий Мух
За это время и движков прибавилось, и транзакции появились, сессии, представления, валидация...

- можно считать что оно устаканилось? или процесс еще идет? хайпа точно в разы меньше стало
9 окт 19, 23:34    [21990947]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
Kachalov
ТС конкретная проблема или он интересуется тем о чем думал Фаулер когда описывал паттерн?
именно думал).
ТС сам код не пишет. Теоретизирует.
9 окт 19, 23:35    [21990948]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 2739
Kachalov
Дмитрий Мух
За это время и движков прибавилось, и транзакции появились, сессии, представления, валидация...

- можно считать что оно устаканилось? или процесс еще идет? хайпа точно в разы меньше стало
устаканилось оно ещё пять с лишним лет назад
9 окт 19, 23:40    [21990949]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
PetroNotC Sharp
Kachalov
ТС конкретная проблема или он интересуется тем о чем думал Фаулер когда описывал паттерн?
именно думал).
ТС сам код не пишет. Теоретизирует.


Ты то тот ещё писатель. Вот скажи, Петрович, ты когда книгу читаешь, в которой автор код не написал будешь пытаться написать код? не думал ли ты, что если автор не включил код, то значит он не очень то и нужен?
9 окт 19, 23:51    [21990952]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2735
Kachalov
забыл ник
никто в здравом уме не будет мапить наследование в БД

- мапил, работает, проблем нет (если помнить какую стратегию использовал и учитывать это при написании запросов)

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

правильно это или нет-вопрос не это этой темы - ты или подстраиваешья или выходишь из игры
10 окт 19, 00:00    [21990955]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
Kachalov
Member

Откуда: Москва
Сообщений: 5688
asv79
Kachalov
пропущено...

- мапил, работает, проблем нет (если помнить какую стратегию использовал и учитывать это при написании запросов)

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

правильно это или нет-вопрос не это этой темы - ты или подстраиваешья или выходишь из игры

- ?? о чем Вы? какие то претензии ко мне лично? я помешал Вам программировать на Бейсике и Вы стали губкой?

К сообщению приложен файл. Размер - 63Kb
10 окт 19, 00:42    [21990964]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
questioner
не думал ли ты, что если автор не включил код, то значит он не очень то и нужен?
ты читаешь книги по архитектуре.
Вроде бы логические построения предложения у тебя должны быть.
Но нет!
Они отсутствуют!
Впечатление, что тебя на каторге поставили архитектором. А ты ненавидишь программировать.
"если в книге нет кода, значит кодировать не нужно - это глупость".
"если в книге 4 метода наследования, то начинать надо не с умолчания - это глупость".
В школе ПОСЛЕДОВАТЕЛЬНОЕ изложение материала.
10 окт 19, 07:19    [21990991]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
mayton
questioner, давай приводи полную цитату Фаулера. А то получается как в анекдоте
про Рабиновича который Шаляпина напел.


Картинка с другого сайта.

К сообщению приложен файл. Размер - 128Kb
10 окт 19, 12:40    [21991182]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
questioner,
И что непонятного в красном?
В базе нельзя контролировать целостность FK так как инфа разбросана по таблицам.
10 окт 19, 12:53    [21991197]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
questioner,
Теперь приводи не объектную модель, а модель физическую в бд.
10 окт 19, 12:55    [21991200]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
ТС,
Смотришь в книгу, а вопрос задаёшь что в голову взбредет.
10 окт 19, 12:58    [21991202]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
PetroNotC Sharp
questioner,
И что непонятного в красном?
В базе нельзя контролировать целостность FK так как инфа разбросана по таблицам.


Ну то есть он просто имеет ввиду, что такую ситуацию при таком маппинге тяжело хендлиьт и получается какое-то говно?

PetroNotC
Теперь приводи не объектную модель, а модель физическую в бд.


А чего приводить то - таблицы только для конкрентных классов (футболистов и крикетистов)
10 окт 19, 12:58    [21991203]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
Фаулер
Ситуацию можно упростить, если вообще не создавать полей, принадлежащих суперклассу.

А нафига вообще тогда этот суперкласс как entity?

Фаулер
Существует и альтернативный вариант: определить открытый интерфейс с методами доступа к супертипу, а в релазиции использовать несколько закрытых полей для каждого конкретного типа. В этом случае интерфейс будет комбинировать значения закрытых полей.....


Это о чем вообще?
10 окт 19, 13:13    [21991213]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
mayton
Member

Откуда: loopback
Сообщений: 43283
Так. Отставить в сторону Фаулера.

Срочно читать https://en.wikipedia.org/wiki/Object-relational_impedance_mismatch всем
10 окт 19, 13:27    [21991227]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
questioner
А чего приводить то
проверь сколько делает хибер и сюда скрины.
Меньше болтай.
10 окт 19, 13:33    [21991234]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
mayton
Отставить в сторону Фаулера.

+1 ТС ленивый до невозможности.
Думает роман читает и практика не нужна.
10 окт 19, 13:34    [21991236]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
PetroNotC Sharp
questioner
А чего приводить то
проверь сколько делает хибер и сюда скрины.
Меньше болтай.


примени это к себе.
10 окт 19, 13:50    [21991256]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
mayton
Так. Отставить в сторону Фаулера.

Срочно читать https://en.wikipedia.org/wiki/Object-relational_impedance_mismatch всем


Ну тут то понятно. Да в курсе я, что объекты и связи в реляционной базе это разные вещи.
10 окт 19, 13:51    [21991260]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
questioner
примени это к себе.
сначала ответь. Ты зачем книгу именно по архитектуре взял?
Хобби после работы?
10 окт 19, 13:59    [21991274]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
PetroNotC Sharp
questioner
примени это к себе.
сначала ответь. Ты зачем книгу именно по архитектуре взял?
Хобби после работы?


Если ты посмотришь кому и зачем эта книга предназначается(Фаулер об это в начале пишет), то не будешь задавать тупых вопросов.
10 окт 19, 14:02    [21991281]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
questioner
Если ты посмотришь
скрины давай)))
10 окт 19, 14:04    [21991284]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
questioner,
Кто то код пишет. А мы тебе переводить твои скрины будем.
Удачи!
10 окт 19, 14:05    [21991287]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
PetroNotC Sharp
questioner
Если ты посмотришь
скрины давай)))


Слушай, создай отдельную тему и там учи меня жить - тут другой топик.
10 окт 19, 14:07    [21991289]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
questioner,
Закон форумов - ТС не огрызается. (с)
10 окт 19, 14:10    [21991298]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
PetroNotC Sharp
questioner,
Закон форумов - ТС не огрызается. (с)


Я могу тебе ещё один закон придумать PetroNotC Sharp - затыкается и не мешает, если по делу сказать нечего, но ты ж в каждой бочке затычка.
10 окт 19, 14:12    [21991299]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
questioner,
Твой вопрос закрыт?
10 окт 19, 14:20    [21991304]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
PetroNotC Sharp
questioner,
Твой вопрос закрыт?


твой рот не закрыт, и это печально.

Вопрос открыт.


my
Ну то есть автор просто имеет ввиду, что такую ситуацию при таком маппинге тяжело хендлить и получается какое-то говно?


жду ответ

Фаулер
Ситуацию можно упростить, если вообще не создавать полей, принадлежащих суперклассу.

А нафига вообще тогда этот суперкласс как entity?


Фаулер
Существует и альтернативный вариант: определить открытый интерфейс с методами доступа к супертипу, а в релазиции использовать несколько закрытых полей для каждого конкретного типа. В этом случае интерфейс будет комбинировать значения закрытых полей.....


Это о чем вообще?
10 окт 19, 14:25    [21991307]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2782
my
при таком маппинге тяжело хендлить и получается какое-то говно?
переведи с языка Шарикова на инженерный свой вопрос.
10 окт 19, 14:30    [21991316]     Ответить | Цитировать Сообщить модератору
 Re: Фаулер. Concrete table inheritance  [new]
questioner
Member

Откуда:
Сообщений: 1865
PetroNotC Sharp
my
при таком маппинге тяжело хендлить и получается какое-то говно?
переведи с языка Шарикова на инженерный свой вопрос.


Какое конкретно слово тебе не понятно?
10 окт 19, 14:31    [21991320]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3 4      [все]
Все форумы / Java Ответить