Может ли Hibernate лениво создавать связанные сущности? - PullRequest
1 голос
/ 17 декабря 2011

Скажем, у меня есть User и UserProfile сущности. Я хотел бы иметь возможность создать User u, сохранить / присоединить его к контексту Hibernate, а затем просто вызвать, например, u.getUserProfile().setFirstName("Steve") без необходимости создания экземпляра и установки объекта UserProfile.

Для ясности, вот код:

// create, populate, and save user with only some primitive values
// note that no UserProfile is explicitly set
User u = new User();
u.setSomePrimitive(somePrimitive);
u.setSomeOtherPrimitive(someOtherPrimitive);
session.save(u);

// navigate into and set something on the user profile
u.getUserProfile().setFirstName("Steve-o");

По сути, я хочу, чтобы Hibernate лениво создавал ассоциации связанных сущностей для меня. Я полагаю, что Hibernate может очень легко пометить как грязный и сохранить только те лениво созданные ассоциации, для которых есть набор данных, в противном случае игнорируйте.

Возможно ли это?

1 Ответ

1 голос
/ 17 декабря 2011

Нет, это не так (и это хорошо!).Кстати, это имело бы смысл только для однозначной, обязательной ассоциации.И вам придется заполнить профиль всеми его обязательными значениями, прежде чем сохранить пользователя в любом случае.Что такого сложного в new UserProfile()?

Если вы хотите это сделать, вы можете создать профиль в конструкторе пользователя и установить каскад, чтобы профиль сохранялся, когда пользователь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...