假设我有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可以非常容易地标记为脏,并且只保留那些为其设置数据的懒惰创建的关联,否则忽略。
这可能吗?
答案 0 :(得分:1)
不,它不是(这是一件好事!)。顺便说一下,只有一对一的强制性关联才有意义。在保存用户之前,您必须填写配置文件及其所有必需值。 new UserProfile()
有什么困难?
如果您想这样做,可以在User的构造函数中创建配置文件,并设置级联,以便在用户使用时保存配置文件。