|
|
|
Таблицы без foreign key и JPA
|
|||
|---|---|---|---|
|
#18+
Вечер добрый, коллеги! Вопрос теоретический. Есть таблица Order и есть таблица OrderDetail. Связь 1:М, т.е. для каждой записи в Order может быть (а может и не быть) несколько записей в OrderDetail. Можно ли настроить JPA отображения @OneToMany и @ManyToOne между соответствующими сущностями, при условии, что в таблице OrderDetail НЕТ foreign key к таблице Order? Почему нет? А кто его знает, но БД недоступна для внесения изменений, а владелец уперся рогом и наотрез отказывается добавить внешний ключ. Чую нутром, что можно, но то-ли устал, то-ли просто туплю :) Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2017, 17:33 |
|
||
|
Таблицы без foreign key и JPA
|
|||
|---|---|---|---|
|
#18+
fplab, Foreign Key это всего лишь ограничение (constraint) для того чтобы сохранить целостность данных. Его отсутствие небезопасно и может привести к ошибкам. Но оно вообще никак не мешает делать JOIN запросы. Поэтому и на JPA никак не сказывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2017, 17:48 |
|
||
|
Таблицы без foreign key и JPA
|
|||
|---|---|---|---|
|
#18+
fplab, Выше совершенно верно сказали, что могут быть записи сироты при редактировании. Так что он нехороший человек). Но работать можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2017, 18:44 |
|
||
|
Таблицы без foreign key и JPA
|
|||
|---|---|---|---|
|
#18+
Многие ERP вообще foreign key не признают как класс , т.к. проверка целостности данных происходит на уровне бизнес логики и на уровне БД как минимум избыточна, а часто даже вредна (очень сложно кодировать корректное удаление из сложно связанных справочников). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2017, 03:58 |
|
||
|
Таблицы без foreign key и JPA
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevМногие ERP вообще foreign key не признают у ERP нет модели в базе. Она конструируется позже. Поэтому в базе ничего и нету. Только тупой Excell. Я не думаю что у автора ERP, т.е. есть ядро системы и НадСистема-конфигуратор Модели. Ну и FK с удалением делают не всегда. Каскад это одно, а FK другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2017, 12:47 |
|
||
|
Таблицы без foreign key и JPA
|
|||
|---|---|---|---|
|
#18+
Petro123Я не думаю что у автора ERP Совершенно верно - нет. Есть база. Ею командует другой (и не из нашего района). Моя задача - прикрутить небольшую приблуду для извлечения из БД данных. Мне и нужен всего только select. Ну и ладно - обойдусь без ихних foreign key :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2017, 20:15 |
|
||
|
Таблицы без foreign key и JPA
|
|||
|---|---|---|---|
|
#18+
fplab, Да. Если только читать тогда вообще нет проблем. Встаёт вопрос, как ты вообще узнал что там нет fk))). Следопыт)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2017, 20:45 |
|
||
|
Таблицы без foreign key и JPA
|
|||
|---|---|---|---|
|
#18+
Я-бы посмотрел на этот вопрос с другой стороны. Если отсутствие FK (и как следствие индекса по FK) импактит performance - то это тревожный звонок. Следует завести performance issue, и обкатать на дев-среде полезный эффект. Если такой эффект имеет место и если владелец не дурак - то он согласиться добавить констрейнт. Может быть просто до этого таких ситуаций у него не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2017, 23:05 |
|
||
|
Таблицы без foreign key и JPA
|
|||
|---|---|---|---|
|
#18+
maytonиндекса +1 про индекс я забыл. Может подействовать). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2017, 00:12 |
|
||
|
Таблицы без foreign key и JPA
|
|||
|---|---|---|---|
|
#18+
Petro123fplab, Да. Если только читать тогда вообще нет проблем. Встаёт вопрос, как ты вообще узнал что там нет fk))). Следопыт)). Да это как раз было легко :) Владелец базы предоставил sql-скрипт с описанием всех таблиц. Я посмотрел, убедился что FK нет и, разумеется, спросил - почему? Ответ был "так надо". Ну надо, так надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 08:01 |
|
||
|
Таблицы без foreign key и JPA
|
|||
|---|---|---|---|
|
#18+
fplab...Моя задача - прикрутить небольшую приблуду для извлечения из БД данных. Мне и нужен всего только select. Ну и ладно - обойдусь без ихних foreign key :) Ради одного селекта городить JPA/ORM и т.п.? Про JDBC что-нибудь слышали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 10:45 |
|
||
|
Таблицы без foreign key и JPA
|
|||
|---|---|---|---|
|
#18+
fplab...Я посмотрел, убедился что FK нет и, разумеется, спросил - почему? Ответ был "так надо". Ну надо, так надо Для нормального функционирования реляционной базы, первичные ключи (FK) нужны не во всех таблицах, в некоторых используются составные ключи, а в некоторых они вообще вредны. Другое дело что всякие там Хибернейты без этого жить не могут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 10:51 |
|
||
|
Таблицы без foreign key и JPA
|
|||
|---|---|---|---|
|
#18+
GarrickРади одного селекта городить JPA/ORM и т.п.? Про JDBC что-нибудь слышали? Слышал, конечно. Имелся в виду тип запросов: только SELECT. Но много. И таблиц немало. И цели разные - от простого считывания, до построения несложных отчетов и отображения в браузере. Ради одной выборки я бы воспользовался pgAdmin (БД PostgreSQL). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 10:58 |
|
||
|
Таблицы без foreign key и JPA
|
|||
|---|---|---|---|
|
#18+
Garrickпервичные ключи (FK) F от слова First? Первичный? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 10:58 |
|
||
|
Таблицы без foreign key и JPA
|
|||
|---|---|---|---|
|
#18+
BlazkowiczGarrickпервичные ключи (FK) F от слова First? Первичный? Сам постоянно путаюсь - то ли FIRST, то ли FOREIGN. Сокращение вроде бы одинаковое, но такая разница... Всегда думал, что FK это только FOREIGN, но последнее время стали попадаться в некоторых описания PRIMARY KEY, обозначенный как FK. Я склонен думать, что это от безграмотности авторов. В данном случае я имел ввиду PRIMARY KEY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 17:21 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39548781&tid=2122485]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
80ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
2ms |
| others: | 229ms |
| total: | 393ms |

| 0 / 0 |
