2010-02-18 103 views

回答

0

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

Hibernate Reference Manual

0
public class User { 

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

让我们这个班,并假设我们已经映射文件写的,但在名称的属性标记我们把更新=“假”,同时我们启用将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=? 

等voilà!插入语句也是如此!