2012-07-11 307 views
0

我想知道是否可以更改在类映射中定义的属性的插入和更新属性。 这是因为在一种情况下,我需要更新一个属性(或属性),但不是在另一个中,它是可行的?以编程方式更新更新插入属性

在此先感谢

编辑:比方说,我已经在类用户(使用名字,姓氏和loginDate),当用户登录到应用程序,我只需要更新loginDate。但是系统的管理员必须能够编辑用户的名字和姓氏。 对我来说唯一的其他解决方案是使用HQL进行更新(或者在最坏的情况下使用SQL),但是我希望修改该属性是可行的。

编辑2:阅读的Java持久性与Hibernate和一些论坛帖子后,我发现,一旦SessionFactory则是创建的映射是immutables,虽然可以以编程方式更改属性,你需要创建一个新的SessionFactory的

+1

显示此对应栏,显示一些代码,解释你想达到这个代码是什么。如果你不想更新一个属性,请不要更新它。 – 2012-07-11 14:49:49

回答

1
// this is what the login screen calls 
void updateLoginDate(Date date) 
{ 
    User user = session.get(User.class); 
    user.setDate(date); 
    session.Flush(); 
} 

,并在测绘,你可以在类中指定dynamicUpdate = true这样生成的SQL仅更新已改变的

+0

感谢您的回复 – nMoncho 2012-07-12 14:14:11