0

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

提前致谢

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

编辑2:在阅读Java持久性与hibernate和一些论坛线程后,我发现一旦创建了sessionFactory,映射就是不可变的,虽然您可以通过编程方式更改属性,但您需要创建一个新的sessionFactory

4

1 回答 1

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 仅更新已更改的列

于 2012-07-12T09:11:05.973 回答