使用insert和update属性

时间:2010-02-18 12:35:02

标签: hibernate

hibernate中属性标记中insert和update属性的用途是什么?

2 个答案:

答案 0 :(得分:0)

  

update,insert(可选 - 默认为true):指定映射列应包含在SQL UPDATE和/或INSERT语句中。将both设置为false允许纯“derived”属性,其值从映射到同一列的某个其他属性初始化,或者由触发器或其他应用程序初始化。

Hibernate Reference Manual

答案 1 :(得分:0)

public class User {

    private long idUser;
    private String name;
    private int age;
    //Constructor + getters + setters
}

让我们来看看这个类,并假设我们已经编写了映射文件,但在名称的属性标记处我们放了 update =“false”,同时我们启用了打印sql到控制台

更新对象会给我们以下输出:

**Hibernate:  
/* update
        com.pojos.User */ update
            user 
        set
            age=? 
        where
            idUser=?**

现在从名称的属性标记中删除更新attibute并再次更新用户对象会给我们以下输出:

Hibernate: 
    /* update
        com.pojos.User */ update
            user 
        set
            name=?,
            age=? 
        where
            idUser=?

Etvoilà!插入语句也是如此!