|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Добрый день Есть таблицы: Таблица Author Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Таблица Book Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Все сущностью создаются с помощью JAXB из XMl-файла. Всё хорошо, вот только у объекта book поле author - null. Код записи в БД: Код: java 1. 2. 3. 4. 5.
В таком случае в таблицы book и author записываются строки, только book.author_id = null. При выполнении кода Код: java 1. 2. 3. 4. 5. 6.
Все данные записываются так, как мне надо. Проблема в том, что таких таблиц и связей очень много и прописывать команды типа author.getBook().setAuthor(author) не правильно на мой взгляд. Да и сама команда как-то странно выглядит. Как заставить hibernate автоматически подставлять в дочерние элементы ссылку на родителя? p.s. Вместо @MapsId писал @JoinColumn, но на результат это не повлияло. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 10:24 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Crunkor Проблема в том, что таких таблиц и связей очень много и прописывать команды типа author.getBook().setAuthor(author) не правильно на мой взгляд. Да и сама команда как-то странно выглядит. Дай ссыль или букварь или спеку как надо и мы посмотрим. Правильно или нет. Не по памяти же код писал? Crunkor Все сущностью создаются с помощью JAXB из XMl-файла. Сломалось после JAXB? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 10:32 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Crunkor Код: java 1.
Короче, hello world где? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 10:34 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Crunkor ] Это я и хотел спросить =). Для чего нужны все эти связи, если нужно вручную прописывать каждую из них? В моем коде условный объект Author имеет огромное множество таких связей, неужели их надо прописывать вручную? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 11:04 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp как ты иначе связь двух сущностей вставишь? Это я и хотел спросить =). Для чего нужны все эти связи, если нужно вручную прописывать каждую из них? В моем коде условный объект Author имеет огромное множество таких связей, неужели их надо прописывать вручную? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 11:05 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Crunkor Это я и хотел спросить =). Crunkor Для чего нужны все эти связи, если нужно вручную прописывать каждую из них? Пример из справки один ко многим где? Там руками ставится? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 11:16 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Crunkor В моем коде условный объект Author имеет огромное множество таких связей, Ты не показал. И по какой нормальной форме нормализовал модель тоже не видим. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 11:17 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Если у вас приходит XML извне, то выкиньте хибер и сохраняйте эти xml прямо в блоб. Либо отработайте хибер, но не приплетайте jaxb. Они на разных планетах друг от друга. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 11:26 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Код: java 1.
Попробуй так. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 11:40 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Если у вас приходит XML извне, то выкиньте хибер и сохраняйте эти xml прямо в блоб. Либо отработайте хибер, но не приплетайте jaxb. Они на разных планетах друг от друга. В XML приходит база данных. Что-то типа: Код: xml 1. 2. 3. 4. 5. 6.
На самом деле XML достаточно большой и разветвленный. При помощи JABX я создаю из этого XML файла объект Код: java 1. 2. 3.
JABX на мой взгляд выполняет все успешно. Создается объект author в котором присутствуют все поля и вложенные объекты. Классы с JAXB+HIBERNATE Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
После этого я хочу author записать в базу данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 11:42 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
crutchmaster Код: java 1.
Попробуй так. Не помогло. Поле book у объекта author всё так же null. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 11:56 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Crunkor На самом деле XML достаточно большой и разветвленный. А с циклическими связями как? Crunkor При помощи JABX я создаю из этого XML файла объект ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 12:21 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Crunkor После этого я хочу author записать в базу данных. Странная задача. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 12:23 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Crunkor На самом деле XML достаточно большой и разветвленный. А с циклическими связями как? Crunkor При помощи JABX я создаю из этого XML файла объект JAXB прекрасно создает объект, с ним проблем нет. PetroNotC Sharp Crunkor После этого я хочу author записать в базу данных. Странная задача. Перегоняется не вся база а только часть. Xml файлов много, каждый содержит свои данные, а структура одна. Команда Код: java 1.
присваивает объектам ID, но оставляет пустым поле author у book. Мне кажется, что тут не хватает либо какой-то настройки, либо неправильно указаны связи между таблицами. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 12:38 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Crunkor JAXB прекрасно создает объект, с ним проблем нет. Он заточен передавать коллекции без связей. VO или DTO. Получил коллекцию, принял коллекцию. Коллекцию в базу. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 12:46 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Crunkor Мне кажется, что тут не хватает либо какой-то настройки, либо неправильно указаны связи между таблицами. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 12:48 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Crunkor Не помогло. Поле book у объекта author всё так же null. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 12:49 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Crunkor JAXB прекрасно создает объект, с ним проблем нет. Он заточен передавать коллекции без связей. VO или DTO. Получил коллекцию, принял коллекцию. Коллекцию в базу. Не совсем понял, что вы хотели сказать. PetroNotC Sharp Crunkor Мне кажется, что тут не хватает либо какой-то настройки, либо неправильно указаны связи между таблицами. xD Это намек на то, что бы я пошел читать какую-нибудь книгу по Hibernate с 600+ страницами ? Видимо пока другого выхода нет. PetroNotC Sharp Crunkor Не помогло. Поле book у объекта author всё так же null. Слишком тонко для меня. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 13:42 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Crunkor Не совсем понял, что вы хотели сказать. Понятно? Crunkor книгу по Hibernate с 600+ страницами ? Hello world один ко многим. .... сущностьА.добавитьСвязь(б) Везде это надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 13:49 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Crunkor, Вон, у apb12 спроси. Может в спринге какое таинство есть и связи сами сохраняются. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 13:52 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Crunkor Не совсем понял, что вы хотели сказать. Понятно? Crunkor книгу по Hibernate с 600+ страницами ? Hello world один ко многим. .... сущностьА.добавитьСвязь(б) Везде это надо. Всё равно не понятно о какой другой задаче идет речь кроме как записать объект author в БД с использованием Hibernate. сущностьА.добавитьСвязь(б) Разве не для этого прописываются аннотации? В моем случае @OneToOne ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 14:07 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Crunkor Разве не для этого прописываются аннотации? В моем случае @OneToOne Мне интересно, ты представлял себя на месте хибера? Как ты поймешь что объект автор и объект бук надо связать? После создания JAXB объектом - ссылки правильно расставлены? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 14:37 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
Crunkor Разве не для этого прописываются аннотации? В моем случае @OneToOne Да. Но без JAXB ЖЕ? Пример то поищи в инете. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 14:40 |
|
Как заставить Hibernate автоматически связывать объекты?
|
|||
---|---|---|---|
#18+
забыл ник Crunkor Разве не для этого прописываются аннотации? В моем случае @OneToOne Мне интересно, ты представлял себя на месте хибера? Как ты поймешь что объект автор и объект бук надо связать? После создания JAXB объектом - ссылки правильно расставлены? Вручную я ссылки нигде не расставлял. Мне казалось, что этим должен был заняться hibernate после указаний аннотаций. Конструкции типа author.getBook().setAuthor(author) на мой взгляд неправильные. Для чего в книге, которая сидит в авторе указывать ее автора? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2019, 14:44 |
|
|
start [/forum/topic.php?fid=59&msg=39899880&tid=2120981]: |
0ms |
get settings: |
7ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
42ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
485ms |
get tp. blocked users: |
1ms |
others: | 9ms |
total: | 559ms |
0 / 0 |