Я довольно новичок в Hibernate, и у меня возникает проблема с огромными головными болями:
У меня есть база данных, использующая отношения с внешними ключами.Сначала я создал свою базу данных со всеми ссылками, представленными в MySQL InnoDB.Затем я сгенерировал из MySQL Workbench все модели из базы данных.Выглядело это очень красиво и удобно.
Получить пользователей и их детей очень легко и быстро;НО добавление записи становится ужасным, мне нужно загрузить все родительские элементы нового объекта, чтобы иметь возможность сохранить его из-за "org.hibernate.PropertyValueException: not-null свойство ссылается на нулевое или временное значение ...".
Моя схема вполне нормальная, у пользователя много фотографий, у фотографий есть капли и форматы, у пользователя много избранных и т. Д. Поэтому, когда я хочу вставить новую фотографию, мне нужно создать ОГРОМНОЕ количествосвязанный объект, который действительно раздражает и является сложным, по сравнению с использованием простого SQL-запроса с вставкой индексов, таких как user_id:15
, но при выборе записи, получающей пользовательский объект.
Интересно, каков хороший способ создания сложных отношенийбазы данных, при получении объекта вы загрузили в качестве объектов его объекты, подобные этим:
(User Object)
{
firstname="John",
lastname="Doe",
...
photos:[
{
format:"jpg",
url:"http://wifhwofihwofihwf.com",
...
}],
favorites:[
{ (user Object)
firstname:"Steve",
lastname :"Doe",...
photos:[...]
},...
]
}
И как можно определить глубину требуемого ответа при получении пользователя, потому что мы чего-то не хотимнапример:
(User Object)
{
...
favorites:[
{ (user Object)
firstname:"Steve",
lastname :"Doe",...
photos:[...],
{
...
favorites:[
{
...
favorites:[
{
LOOONG DEPTH
},...
]
},...
]
}
если у вас есть ссылки или советы о том, как справиться с этим, я был бы благодарен,потому что я могу найти только очень глупые примеры спящего режима, которые не работают в моем случае.
Приветствия!