隨筆-10  評論-66  文章-1  trackbacks-0
          我有一張數(shù)據(jù)表USER,里面已有數(shù)據(jù)了,現(xiàn)在我只想更新這張數(shù)據(jù)表里的某個(gè)字段,不知有沒有方法在hibernate可以像用SQL語句那樣直接更新只想更改的字段,而不是先load出來再save? 如: 數(shù)據(jù)表USER create table user( id int primary key ,name varchar(20), age int); 代碼 User user = new User(); user.setId(new Integer(1)); user.setName("name"); user.setAge(new Integer(21)); Session session = HibernateSessionFactory.getCurrentSession(); session.save(user); 當(dāng)我去更新時(shí), User user = new User(); user.setId(new Integer(1)); user.setName("name2"); Session session = HibernateSessionFactory.getCurrentSession(); session.update(user); 這時(shí)Age的值就變成了NULL了,我現(xiàn)在就想當(dāng)我去更新時(shí)(不用先load出來),Age的值不會(huì)改變, 希望各位指點(diǎn)下,謝謝
          posted on 2006-09-06 16:50 javadragon 閱讀(3219) 評論(4)  編輯  收藏

          評論:
          # re: 用hibernate更新數(shù)據(jù)時(shí)出現(xiàn)的問題 2006-09-06 20:13 | 布衣郎
          你用的是hibernate 2 還是 hibernate 3
          如果是3的話
          Session s= HibernateSessionFactory.getCurrentSession();

          s.createQuery( "update user u set age= 1" ).executeUpdate();  回復(fù)  更多評論
            
          # re: 用hibernate更新數(shù)據(jù)時(shí)出現(xiàn)的問題 2006-09-13 14:46 | javadragon
          我用的是hibernate 3的,現(xiàn)在我每更新一次數(shù)據(jù)都要load一次,
          如此一來,就會(huì)影響更新的效率,不知兄弟(布衣郎)有沒有更好的方法  回復(fù)  更多評論
            
          # re: 用hibernate更新數(shù)據(jù)時(shí)出現(xiàn)的問題 2006-09-15 17:11 | 安文豪
          如果是Hibernate3的話,可以直接使用native sql 去實(shí)現(xiàn)你的要求。做法和普通的jdbc一樣。如果不習(xí)慣。布衣郎 說的方法也是可行的!
            回復(fù)  更多評論
            
          # 我是初學(xué)者 請高手寫個(gè)完整的更新 2008-04-04 13:04 | keling
          我是初學(xué)者 請高手寫個(gè)完整的更新  回復(fù)  更多評論
            

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 岚皋县| 夹江县| 商都县| 垫江县| 遵化市| 华蓥市| 宁安市| 白河县| 临猗县| 永川市| 哈密市| 缙云县| 湘潭市| 桑日县| 景谷| 萍乡市| 兖州市| 平塘县| 错那县| 周至县| 南部县| 郴州市| 林甸县| 芜湖县| 广宗县| 密云县| 黄陵县| 清远市| 木兰县| 长武县| 中牟县| 辽宁省| 沧州市| 武宣县| 苏州市| 佛山市| 湄潭县| 屏边| 吴江市| 宁远县| 平武县|