|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, я ему уже написал - сущности кривые если 1 к 1 то нужно делать как у меня в примере я тоже в свое время такую же ошибку словил ему просто нужно понять что если он публикует отношения они должны быть в одной из таблиц а не в двух но для этого нужно хотя бы месячные курсы по бдшкам пройти ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 21:15 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Crunkor Проблема в том, что таких таблиц и связей очень много и прописывать команды типа author.getBook().setAuthor(author) не правильно на мой взгляд. Да и сама команда как-то странно выглядит. Crunkor Как быть в такой ситуации? Мы выяснили что с хибером все нормально. Нужно озвучить задачу. Описать модель. Убрать один к одному. Так как ты написал что связей 50 штук. Это значит вместо сущности одной с 50 полями, ты сделал 50 сущностей с FK. А так не делают. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 22:29 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
apb12 Crunkor, а вообще это ошибка архитектуры у одного автора может быть много книг и отношение тут не one2one а one2many Это был просто пример. apb12 PetroNotC Sharp, ему просто нужно понять что если он публикует отношения они должны быть в одной из таблиц а не в двух "В какой документации такое написано?" (с) PetroNotC Sharp PetroNotC Sharp Убрать один к одному. Почему один к одному так плох? Если у объекта может быть только один наследник, то всё равно лучше делать OneToMany ? PetroNotC Sharp Так как ты написал что связей 50 штук. Это значит вместо сущности одной с 50 полями, ты сделал 50 сущностей с FK. А так не делают. На самом деле сущность одна. Один объект, который имеет связи как OneToOne, так и OneToMany, а эти связи имеют еще свои связи и т.д. Я просто упростил для большей ясности. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 23:04 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Crunkor "В какой документации такое написано?" (с) PetroNotC Sharp и. я не силен в sql ,но что то мне подсказывает что в отношении двух таблиц не может быть двух foreign key которые указывают друг на друга вы товарисчь вместо споров просто опробуйте предложенное в авторе оставьте что есть ,в книге уберите и у вас все заработает я вам выше привет ссылку на гит хаб с рабочим проектом -и там все прекрасно работает ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 23:13 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Crunkor На самом деле сущность одна. Один объект, который имеет связи как OneToOne, так и OneToMany, а эти связи имеют еще свои связи и т.д. Я просто упростил для большей ясности. смотри сюда алексей есди связь 1т1 то ты должен указать это только в одной сущности если 1тМ то в двух иначе хибер тебя просто не поймет я тебе дал ссылку на рабочий проект открой там фолдер Entity и все станет понятно,так как там есть все виды отношений ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 23:18 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
apb12 я не силен в sql ,но что то мне подсказывает что в отношении двух таблиц не может быть двух foreign key которые указывают друг на друга FK у меня только один. В таблице book поле author_id. apb12 вы товарисчь вместо споров просто опробуйте предложенное в авторе оставьте что есть ,в книге уберите и у вас все заработает я вам выше привет ссылку на гит хаб с рабочим проектом -и там все прекрасно работает Оставил в авторе и убрал в книге. Выходит ошибка "ОШИБКА: столбец "book_id" в таблице "author" не существует" ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 23:23 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Ох жесть. Код: java 1. 2. 3. 4. 5. 6. 7. 8.
Вот какое поведение ожидается, когда мы говорим что ID нужно и генерить и шарить с автором одновременно? Там еще в хибере есть такое: hibernate.enhancer.enableAssociationManagementhibernate.enhancer.enableAssociationManagement (e.g. true or false (default value)) Enable association management feature in runtime bytecode enhancement which automatically synchronizes a bidirectional association when only one side is changed. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 00:14 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Crunkor Выходит ошибка "ОШИБКА: столбец "book_id" в таблице "author" не существует" ты посмотрел код на гитхабе что я тебе дал? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 00:33 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
apb12 Crunkor Выходит ошибка "ОШИБКА: столбец "book_id" в таблице "author" не существует" ты посмотрел код на гитхабе что я тебе дал? Да, посмотрел. У тебя там "магия" спринга что-то делает. (В BucketRepo.java - JpaRepository) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 00:39 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Crunkor apb12 пропущено... ты посмотрел код на гитхабе что я тебе дал? Да, посмотрел. У тебя там "магия" спринга что-то делает. (В BucketRepo.java - JpaRepository) JPaRepository никакого к этому отношения не имеет,это хибернейтовский интерфейс который генерирует тебе запросы в базу вместо дрочбы с написаниаем SQL запросов и их обработкой смотри на сущность в папке Entity там есть Bucket и Flower.. у которых как раз отношение 1 к 1 и все прекрасно работает ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 00:58 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
apb12 Crunkor пропущено... Да, посмотрел. У тебя там "магия" спринга что-то делает. (В BucketRepo.java - JpaRepository) JPaRepository никакого к этому отношения не имеет,это хибернейтовский интерфейс который генерирует тебе запросы в базу вместо дрочбы с написаниаем SQL запросов и их обработкой смотри на сущность в папке Entity там есть Bucket и Flower.. у которых как раз отношение 1 к 1 и все прекрасно работает У нас с тобой немного разные случаи. В твоем случае ты сам создаешь объект типа Bucket и сам устанавливаешь ему setFlower(). В моем случае объект создается с помощью JAXB, а в нем я пока не могу заставить сохранять ссылку на родительский элемент. Пойду рыться в GitHub'e ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 01:08 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Crunkor У нас с тобой немного разные случаи. В твоем случае ты сам создаешь объект типа Bucket и сам устанавливаешь ему setFlower(). В моем случае объект создается с помощью JAXB, а в нем я пока не могу заставить сохранять ссылку на родительский элемент. Пойду рыться в GitHub'e Вообще-то желательно чтобы было "мухи отдельно, котлеты отдельно". Т.е. классы для генерации из/в XML это одно, а для работы с БД другое. И для них написать прослойку для преобразования одного в другое. И да. Для XML рекомендуется написать xsd, по ней (xsd) автогенерить классы и уже с ними работать. Вот тогда будет настоящий "Кровавый Ынтырпрайз"! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 05:49 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Crunkor Почему один к одному так плох 2. Первичный ключ PK. сложнее делать и там и там одновременно. 3. По опыту всех прогеров это геморой. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 07:25 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Crunkor Один объект, который имеет связи как OneToOne, так и OneToMany, а эти связи имеют еще свои связи и т.д. Я просто упростил для большей ясности. Офигеть. Твоя задача не имеет решения. Автомат невозможен. Перевожу задачу: - авторесть бд из 10 таблиц и 85 связями. С FK и каскадными. С двунаправленными. То есть полноценная БД, но в XML и не в "ОРМ формате." Нужно в автомате, не программируя, загнать ее в бд с другим хибер маппингом. ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 07:40 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
apb12 и отношение тут не one2one а one2many Авторы с книгами соотнясятся как many2many ващет ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 12:15 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
забыл ник apb12 и отношение тут не one2one а one2many Авторы с книгами соотнясятся как many2many ващет у одной книги несколько авторов? ну впринципе да,но обычно это игнорируется -пишется просто первый автор и все пример с литреса ,на обложке два автора,под книгой автор-название явно стянуты с базы и что там? верно 1 автор ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 12:21 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 12:26 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Он блин ссылается что везде всю задачу упростил. Связи упростил. Табла одна и т.д. То есть дерево упростили и осталась одна палка - швабра из одной ветки. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 12:27 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
apb12 у одной книги несколько авторов? ну впринципе да,но обычно это игнорируется -пишется просто первый автор и все ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 13:12 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Basil A. Sidorov apb12 у одной книги несколько авторов? ну впринципе да,но обычно это игнорируется -пишется просто первый автор и все тоже верно ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 13:44 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
забыл ник, ну вот создал сейчас Many2Many и тут же словил грабли у меня две таблицы юзер и книга и хибер создает 3ю юзер_книга вот я хочу из этой таблы юзер_книга удалить какую то запись и не пойму как это с помощью хибера делать? писть через JPQL запрос ?из коробки хибер не сможет сам удалить? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 17:01 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
apb12 из коробки хибер не сможет сам удалить? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 17:06 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
apb12 ну вот создал сейчас Many2Many и тут же словил грабли А при чем техическая реализация какого-то фреймворка к правильности модели? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 17:09 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, я понял эсоздать новую сущность user_book а вот это все выпилить? вообще чтоли убрать анотацию Many2Many? или же там есть какая то хитрость Код: java 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 17:16 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
забыл ник apb12 ну вот создал сейчас Many2Many и тут же словил грабли А при чем техическая реализация какого-то фреймворка к правильности модели? ну тоесть проще взять и написат новую сущность ,чем городить огород с этой анотацией @Many2Many? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 17:18 |
|
|
start [/forum/topic.php?fid=59&msg=39900506&tid=2120981]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
133ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 266ms |
0 / 0 |