Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / hibernate и id для двух таблиц / 16 сообщений из 16, страница 1 из 1
05.04.2018, 17:41
    #39626270
Timein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hibernate и id для двух таблиц
Добрый день
В hibernate я новичок, поэтому прошу подсказать.
Необходимо произвести одновременную вставку в две таблицы, причем генерируем сиквенсом id первой таблицы должен быть так же id второй таблицы.
Проще говоря, id первой таблицы должен передаваться в id второй таблицы.
Подскажите, пожалуйста, можно ли это сделать и как?
...
Рейтинг: 0 / 0
05.04.2018, 17:45
    #39626278
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hibernate и id для двух таблиц
Всю жизнь это называлось Foreign Key. Его, иногда, можно с Primary Key комбинировать. Изучайте сначала реляционные базы данных, а не hibernate. ORM это прослойка. Если вы не знаете структуры своей базы, то ORM не сильно вам поможет.
...
Рейтинг: 0 / 0
05.04.2018, 17:46
    #39626281
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hibernate и id для двух таблиц
Timein,

Можно, например, через наследование реализовать, если в этом есть логический смысл.
https://stackoverflow.com/questions/23751100/jpa-hibernate-foreign-key-as-primary-key
...
Рейтинг: 0 / 0
05.04.2018, 18:40
    #39626324
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hibernate и id для двух таблиц
Timein,
Делай hello world один ко многим.
Если правильно понял задачу.
...
Рейтинг: 0 / 0
05.04.2018, 19:09
    #39626338
Timein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hibernate и id для двух таблиц
Blazkowicz, возможно, вы правы, стоит подтянуть основы. Но просто раньше не сталкивался с тем, что pk ссылается на pk. Как-то обычно другое поле используется (правда, опыт у меня небольшой)

Насчет наследования спасибо, подумаю, хотя таблицы, по сути, никак не связаны, кроме того, что у них должен быть одинаковый id
...
Рейтинг: 0 / 0
05.04.2018, 19:19
    #39626340
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hibernate и id для двух таблиц
Timein,
Если не связаны, то откажись от изврата.
Или у тебя
Табла Родители и табла Дети?
...
Рейтинг: 0 / 0
05.04.2018, 19:31
    #39626347
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hibernate и id для двух таблиц
Timein, id первой таблицы должен передаваться в id второй таблицы.Timeinо просто раньше не сталкивался с тем, что pk ссылается на pk.
что такое субд известно?


BlazkowiczИзучайте сначала реляционные базы данных,+100500
...
Рейтинг: 0 / 0
05.04.2018, 20:14
    #39626370
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hibernate и id для двух таблиц
вадя,
Да оно и без базы смысла не имеет. Один к одному.
Только как пятничная тема.
...
Рейтинг: 0 / 0
05.04.2018, 20:34
    #39626382
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hibernate и id для двух таблиц
Petro123Да оно и без базы смысла не имеет. Один к одному.
Только как пятничная тема.тут проблема в понимании субд.
если две таблицы с id - то добавление в таблицу, как правило, вызывает автоинкремент id.
при этом добавление в другую таблицу так же вызывает авто инкремент id.
и тут не надо добавлять id из одной таблицы в другую.
эти id будут просто одинаковыми при добавлении в обе таблицы.
если следовать этому
TimeinПроще говоря, id первой таблицы должен передаваться в id второй таблицы.
...
Рейтинг: 0 / 0
06.04.2018, 08:32
    #39626501
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hibernate и id для двух таблиц
вадяесли две таблицы с id - то добавление в таблицу, как правило, вызывает автоинкремент id.
при этом добавление в другую таблицу так же вызывает авто инкремент id.
и тут не надо добавлять id из одной таблицы в другую.
эти id будут просто одинаковыми при добавлении в обе таблицы.

Ох, вадя. Хорошо что тут форум по Java, а не по БД. Может никто не заметит.
...
Рейтинг: 0 / 0
06.04.2018, 09:01
    #39626524
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hibernate и id для двух таблиц
Blazkowicz,
Ты вадю оскорбил. Счас начнется.
...
Рейтинг: 0 / 0
06.04.2018, 10:03
    #39626581
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hibernate и id для двух таблиц
Blazkowiczвадяесли две таблицы с id - то добавление в таблицу, как правило, вызывает автоинкремент id.
при этом добавление в другую таблицу так же вызывает авто инкремент id.
и тут не надо добавлять id из одной таблицы в другую.
эти id будут просто одинаковыми при добавлении в обе таблицы.

Ох, вадя. Хорошо что тут форум по Java, а не по БД. Может никто не заметит.
аргументы?
...
Рейтинг: 0 / 0
06.04.2018, 10:13
    #39626594
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hibernate и id для двух таблиц
вадяаргументы?
Ты прикалываешься? Зарезервировали инкремент, попробовали вставить, обломились, откатились. Второй автоинкремент остался без резервации. Параллельная транзакция получила два разных значения.

Хотя это в принципе не важно. Два источника данных без дополнительной синхронизации нельзя считать синхронными и не важно по какой вообще причине рассинхронизация произошла. А причин можно перечислять до усрачки, так как у каждой БД автоинкремент и транзакционность со своими нюансами. Банально руками решил данные подправить и закомитил сразу одну таблицу.
...
Рейтинг: 0 / 0
06.04.2018, 10:34
    #39626605
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hibernate и id для двух таблиц
BlazkowiczТы прикалываешься? Зарезервировали инкремент, попробовали вставить, обломились, откатились. Второй автоинкремент остался без резервации. Параллельная транзакция получила два разных значения.

Хотя это в принципе не важно. Два источника данных без дополнительной синхронизации нельзя считать синхронными и не важно по какой вообще причине рассинхронизация произошла. А причин можно перечислять до усрачки, так как у каждой БД автоинкремент и транзакционность со своими нюансами. Банально руками решил данные подправить и закомитил сразу одну таблицу.в общем случае верно, но в частном случае может работать и мой вариант.
а если решать это без хибера - то такой проблемы вообще не существует...
...
Рейтинг: 0 / 0
06.04.2018, 10:48
    #39626619
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hibernate и id для двух таблиц
вадяв общем случае верно
Как и во всех частных. Когда ты уже повзрослеешь и научишься признавать ошибки?
...
Рейтинг: 0 / 0
06.04.2018, 11:35
    #39626671
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
hibernate и id для двух таблиц
Petro123Да оно и без базы смысла не имеет. Один к одному.

AFAIK один к одному РЕДКО, но иногда используется. Связь как связь )))
(например: нужны новые поля, но физически добавить поле в одну из таблиц по какой-то причине /может быть 100500 причин/ нельзя)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / hibernate и id для двух таблиц / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]