1. 程式人生 > >Hibernate——update-只更新被修改的欄位

Hibernate——update-只更新被修改的欄位

方法一:(不好,因為不靈活)
使用註解:
在不希望被更新的欄位對應的屬性的getXXX()方法上註解:@Column(updatable=false)
使用XML:
在不希望被更新的欄位對應的屬性的xxx.hbm.xml配置檔案中設定:

<property name="xxx" update="false"/>

方法二:只更新所修改的欄位
在xxx.hbm.xml中的標籤上設定屬性:dynamic-update=”true”
此方法僅適用於在同一個Session的情況下

方法三:
跨Session實現只更新所修改的欄位
使用session.merge()方法

方法四:(建議使用)
HQL方式

Query q = session.createQuery("update Student s set s.name = 'zhangsan' where s.id = 1");
    q.executeUpdate();

相關推薦

Hibernate update 更新修改

2012-11-21 11:16:48|  分類: 預設分類 |  標籤: |字號訂閱 Hibernate 中如果直接使用 Session.update(Object o); 會把這個表中的所有欄位更新一遍。 如果我們只更改了state屬性,而Hib

Hibernate——update-更新修改

方法一:(不好,因為不靈活) 使用註解: 在不希望被更新的欄位對應的屬性的getXXX()方法上註解:@Column(updatable=false) 使用XML:

hibernate update 更新部分的3種方法(轉載)

hibernate 中如果直接使用 Session.update(Object o); 會把這個表中的所有欄位更新一遍。 比如: public class Teacher Test { @Test public void update(){ Session session

hibernate update 更新部分的3種方法

Hibernate 中如果直接使用 Session.update(Object o); 會把這個表中的所有欄位更新一遍。 比如: public class TeacherTest { @Test public void update(){

hibernate update 更新部分字段的3種方法(其實我想說第二種)

day query per 分享 cci bar .exe toc 技術分享 hibernate 中如果直接使用Session.update(Object o);會把這個表中的所有字段更新一遍。 比如: public class Teacher Test {

EF更新變化的

原文: EF只更新變化的欄位 摘要 在使用EF的時候,由於表字段較多,所以在更新的時候,想要只更新變化的欄位,有沒有辦法呢? 解決辦法 程式碼片段 public async Task<int> UpdateAsync(T entity, List<string>

hibernate hql 同時更新多個

方法1  @Override public void paySuccess(Long orderNo) { getCurrentSession().createQuery(sql).setDate("

Oracle-update同時更新多個多個值

--建立表A,B: create table CUX_TEST_TABLE_A (a1 varchar2(240),a2 varchar2(240),a3 varchar2(240)); create table CUX_TEST_TABLE_B (b1 varchar2(2

hibernate 如何部分更新需要的而不是所有的?

比如created_user,created_time等欄位,只在insert時有用,在用saveorupdate()更新時,pojo中沒有值的欄位hibernate 也會去更新,有沒有辦法讓hibernate只更新需要

Phalcon更新改變的

前言 之前官網做了一次改版,執行一年多的時間,狀態良好。在效能和抗壓程度上都有了比較大的提升。 然而,在對接了 TMS(第三方配送系統) 和電子發票之後,會經常發生訂單狀態異常的情況。 問題 經過老大和慧哥的分析(我參與了問題的解決,未參與分析),流

Oracle 中用 update 語句更新date, timestamp的格式

更新date和timestamp資料型別的欄位,分別需要用to_date()和to_timestamp()函式轉換一下才可更新成功。 例:UPDATE table_A SET date_A = TO_DATE('12-11-27', 'RR-MM-DD'),

Hibernate如何取出需要的

mysql我們在寫sql語句的時候都知道怎麼查詢需要的欄位,那麼Hibernate怎麼寫呢? 首先看下我們的資料庫表(案例)。 首先我們要知道mysql怎麼寫呢? 例如我們只需要numberId和number select u.numberId,u.number

sql update 用一個表的更新另一個表

UPDATE  a  SET a.areacode=b.areacode FROM [dbo].[T_Mid_AirPoll] a ,[dbo].[T_Bas_AirStation] b   WHER

mongodb修改資料型別

今天遇到一個很尷尬的應用場景,因為新架構之前,我們mongodb的yfy_score_record表中DATE_TIME欄位的型別是string型別,後來上了新架構之後DATE_TIME欄位變成DateTime型別了,然後統計某一個月內資料的時候就出現問題了,因為string型別的資料查詢方式和

mysql 在表中新加修改

新增欄位 在某個欄位之後新加一個欄位: ALTER TABEL xxx ADD column_name VARCHAR(64) NOT NULL DEFAULT '' COMMENT '' AFTER xxx; 修改欄位 ALTER TABEL xxx MODIFY co

如何將儲存在資料庫表中的城市(部分帶市字,部分不帶市字),以此匹配到正確的省份(帶有市字),並更新相關的資訊?

上述的問題實現的方式有很多,但是最好的實現方式應該如下: 1、新建省份表 CREATE TABLE `provincial` ( `pid` int(11) NOT NULL DEFAULT '0', `provincial` varchar(50) DEFAULT NULL,

資料庫工作筆記010---Mysql中用SQL增加、刪除修改名、型別、註釋,調整順序總結

  JAVA技術交流QQ群:170933152   Mysql中用SQL增加、刪除欄位,修改欄位名、欄位型別、註釋,調整欄位順序總結   在網站重構中,通常會進行資料結構的修改,所以新增,刪除,增加mysql表的欄位是難免的,有時為了方便,還會增加

【mysql】在mysql中更新的部分值,更新某個字串的部分內容

在mysql中更新欄位的部分值,更新某個字串欄位的部分內容   sql語句如下: update goods set img = REPLACE(img,'http://ozwm3lwui.bkt.clouddn.com','http://imgs.lqjava.com') where

K3修改

在K3的BOS中,自定義欄位之後我們往往會修改欄位名,便於記憶和理解,但是修改欄位名之後,只是資料庫中的欄位名被修改了,BOS中的欄位標識並沒有被修改,可以通過以下語句將標識和欄位名改成一致。 select * from icclasstableinfo where fkey <> ffield

用一句sql語句更新兩個表並可更新對應的的值

ACCESS 例子: insert into products (ProNumber,CASNumber,Cnname,Price,Enname,Baozhuang,Pinpai) select ProNumber,CASNumber,Cnname,Price,Enname,Baozhuan