2010-02-18 62 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à!插入語句也是如此!