|
|
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
Такой небольшой опрос. Был на собесе меня люди уверяли что без комби.ключей в хибере жизни нет и они везде. А ПК не нужен вовсе. Я немножко обескуражен может просто от жизни отстал и все действительно их используют? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 14:26 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
andreykaTА ПК не нужен вовсе да ну их в баню. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 14:40 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
в смысле тех, кто это говорит) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 14:40 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
Согласен с Petro123. Бред какой-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 14:45 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
mrWolfСогласен с Petro123. Бред какой-то. Я того же мнения с Вами (двумя), господа. Но вот говорю ж. меня убеждали в обратном. Я конечно же не сломился, НО, в душе вот думаю а может я действительно неправ. У меня коллега есть дб-эксперт. он на меня как на идиота посмотрел и извлек: ну да, можно. но зачем? в ряде случаев джойны это только усложняет. (А я вообще в хибере живу - там джойнов нет по-сути, а с критериями ситуация иная, да и вообще это ооп). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 14:50 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
andreykaTУ меня коллега есть дб-эксперт вот и иди на работу туда, где в штате есть админ и ДБ разработчик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 14:57 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
andreykaTЯ того же мнения с Вами (двумя), господа. Но вот говорю ж. меня убеждали в обратном. Я конечно же не сломился, НО, в душе вот думаю а может я действительно неправ. У меня коллега есть дб-эксперт. он на меня как на идиота посмотрел и извлек: ну да, можно. но зачем? в ряде случаев джойны это только усложняет. (А я вообще в хибере живу - там джойнов нет по-сути, а с критериями ситуация иная, да и вообще это ооп). Тут вопрос не в хибере, а в дизайне БД. Я для одного проекта решил сделать базу очень каноничной и начитался всякого. Так вот множество ресурсов в один голос рекомендовали комбинированые FK/PK ключи. Соответственно когда ассоциаций несколько PK легко становится композитным. У меня, кажется, до трех в одной таблице дошло. Деталей не помню. Это вам в соседний форум по проектированию БД. Там объяснят лучше. Но после реализации DAL пришел к выводу, что для Hibernate таки было бы проще добавить синтетический PK во все колонки, а FK оставить только констрейнтом. Судя по всему, ваши интервьюверы исходили из того что БД первична и спроектировали её именно так. Поэтому им так остро нужны композитные ключи в ORM. И это возникает совершенно флеймовый вопрос. Правильнее ли проектировать сущности из БД путём заковыристого маппинга, или БД из сущностей, упрощая работу с ORM? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 15:00 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
andreykaT, Кажется FK в виде PK нужен для реализации ассоциации один к одному. И вот когда у вас таким образом связано несколько таблиц, и возникает надобность в композитном ключе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 15:06 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Вы собссно отчасти сказали то, что я думал - вопрос флеймовый. челы да, явно исходили из первичности дб и скуля. А я по-сути, скулевыми запросами пользуюсь только чтоб посмотреть, как отразились сущности на базе. и не более того. для меня орм первичен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 15:08 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
andreykaTдля меня орм первичен. Ну, вот я бы над этим хорошо подумал. Потому что в каждой системе данные в БД, их целостность и сохранность это самое важное. А какой-то там ORM для CRUD это уже штука вторичная. И приносить дизайн БД в жертву ORM-у, вроде как, не правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 15:14 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
Blazkowiczреализации ассоциации один к одному мне кажется само по себе ассоциация 1:1 достаточно редкий зверь. Лично я их использовал только как "подпорки". Например в OeBS базовую таблицу менять нельзя, если нужны новые данные - добавляем еще одну таблицу с 1:1. == Вообще, флейм восходит к спору "нужен ли суррогатный PK" или "нужно использовать реальные данные в виде PK, суррогатный ключ зло". Поскольку AFAIK так далеко не заходят и суррогатные PK все же используют ))), то в целом, без комбинированных ключей вполне можно прожить. IMHO Но в опросе я выбрал ответ: "а что это такое?" ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 15:51 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczПравильнее ли проектировать сущности из БД путём заковыристого маппинга, или БД из сущностей, упрощая работу с ORM?"Ат сытуацыи завысыт" (ц) советский фильм. Есть толковый разработчик баз данных - база будет такой, какую он сделает, нет - база будет такой, какую ОРМ предложит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 16:03 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsevмне кажется само по себе ассоциация 1:1 достаточно редкий зверь. Сейчас посмотрел исходник, это у меня для @ManyToOne такая ересь была. Интересно почему. Столько лет прошло, что уже и не помню. Один к одному, действительно, исчезающе редкая фигня. Leonid KudryavtsevВообще, флейм восходит к спору "нужен ли суррогатный PK" или "нужно использовать реальные данные в виде PK, суррогатный ключ зло". Поскольку AFAIK так далеко не заходят и суррогатные PK все же используют ))), то в целом, без комбинированных ключей вполне можно прожить. IMHO Не-не-не. Суррогатные ключи нужны. Это не обсуждается. Натуральные ключи в качестве PK это куча головной боли. Давайте на примере из моего старого проекта. Есть классический "многие ко многим" для сущностей User и Meeting. Но, как это всегда бывает, связь многие ко многим требует аттрибутов, поэтому таблица связи называется Participation и является отдельной сущностью. Внимание вопрос. Чем новый бесполезный генерируемый первичный ключ Participation.id лучше чем композитный первичный ключ fk_user+fk_meeting? Натуральными ключами тут не пахнет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 16:06 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, где то читал что 1-1 вообще типа "бэд стайл".. и лучше наплодить еще кучу полей в первой сущности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 16:14 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЕсть классический "многие ко многим" для сущностей User и Meeting. Но, как это всегда бывает, связь многие ко многим требует аттрибутов, поэтому таблица связи называется Participation и является отдельной сущностью. Внимание вопрос. Чем новый бесполезный генерируемый первичный ключ Participation.id лучше чем композитный первичный ключ fk_user+fk_meeting? Натуральными ключами тут не пахнет. да, но мы же сущностями думаем (при условии что мы ими думаем). а там крути не крути.. будет три сущности и вантумени к партикипейшн. сущность ты так же скорее всего с пк разрисуешь для хибера. (речь ведь о хибере?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 16:18 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
andreykaTда, но мы же сущностями думаем (при условии что мы ими думаем). а там крути не крути.. будет три сущности и вантумени к партикипейшн. сущность ты так же скорее всего с пк разрисуешь для хибера. (речь ведь о хибере?) Не вижу в чем проблема. Могу и так сущность нарисовать. Код: java 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 16:33 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, хм. тоже вариант. а эту ембедабл можно притянуть к понятию скуля как "комбинированный ключ" или "вообще без ключа"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 16:48 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
andreykaTBlazkowicz, хм. тоже вариант. а эту ембедабл можно притянуть к понятию скуля как "комбинированный ключ" или "вообще без ключа"? Это и есть композитный ключ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 16:50 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz...Чем новый бесполезный генерируемый первичный ключ Participation.id лучше чем композитный первичный ключ fk_user+fk_meeting? Натуральными ключами тут не пахнет. А чем плох еще один генерируемый первичный ключ? 1. При связках N:N могу быть и другие поля. Например версия, дата устаревания информации. Т.е. fk_user + fk_meetinkg в качестве PK может не хватить. Появится необходимость внести версионность ==> нужно менять структуру. На саму эту сущность, могут ссылаться и другие сущности ))), чем сущность на связке хуже, чем любая другая. Такое конечно редко, но почему бы и нет. В конце концов, можно сделать и связку N:N между сущностями N:N.... 2. Удобство кодирования. Всегда знаем, что ID у нас всегда одно число и не паримся. Написали универсальную процедуру, например show_record - передали туда имя таблицы + ID и все. Понятно, что в ООП можно сделать класс представляющий из себя PK и передавать уже класс. Но нафига мучиться, когда можно добавить суррогатный ключ. Если же говорить не об ООП языках СУБД, то методика ID всегда одно число, может резко упростить кодинг. IMHO Но в целом: Basil A. Sidorov"Ат сытуацыи завысыт" (ц) советский фильм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 16:53 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, надо поссмотреть как хибер их из базы дергает. Пользовал я ембедед обджектс. что то мне как то не понравилось. в контексте когда задача стоит с хитрой ветвистой выборкой или там заменой. ну, это мое сугубо личное мнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 16:53 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
Есть старая, но достаточно хорошая статья по этому вопросу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 17:05 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
Локшин МаркЕсть старая, но достаточно хорошая статья по этому вопросу. Ещё один. Натуральные ключи тут вообще не при чем. Проблема не в них. Вопрос не в них. Зачем вы их приплетаете - не понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 17:09 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНатуральные ключи тут вообще не при чем. Проблема не в них. Вопрос не в них. Зачем вы их приплетаете - не понятно. Если комбинированный ключ везде , то вопрос тоже касается и применения натуральных ключей, и вопрос в том числе в них. Это как я себе понимаю исходный вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 18:47 |
|
||
|
Как часто вы используете комбинированные ключи в hibernate?
|
|||
|---|---|---|---|
|
#18+
Локшин МаркЕсли комбинированный ключ везде , то вопрос тоже касается и применения натуральных ключей, и вопрос в том числе в них. Это как я себе понимаю исходный вопрос. Хм. Ну, да. Смотря как интерпретировать "везде". Если в каждой таблице, то это ховайся. А если в каждом проекте, то у меня в практике почти так и есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2016, 18:56 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39247268&tid=2124002]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
88ms |
get tp. blocked users: |
2ms |
| others: | 249ms |
| total: | 428ms |

| 0 / 0 |
