修改hibernate返回的结果集,结果他自动将修改结果更新到数据库中

问题描述

我在action中通过 Criteria ca = this.getSession().createCriteria(Test.class);查询获得纪录list根据需求将list里的实体某个字段进行了包装,结果包装完成后他自动将我包装的结果更新到数据库中了,这个问题应该怎么解决代码如下if(list!= null){for(Test test:list){ if(StringUtils.isNotEmpty(test.getStatus()))test.setStatus(StatusEnum.valueOf(test.getStatus()).getValue());}} 这是后台数据库执行顺序注:用的分页查询Hibernate: select * from ?Hibernate: select tuser0_.Hibernate: update TMS_TASK_INFO Hibernate: select count(*) as y0_ from TMS_TASK_INFO this_ 问题补充:封装完成后 我又调用了 一个service是查询记录结果集,就是调用这个方法的时候执行的update操作,然后才执行的 select count(*)操作

解决方案

session的flushModel是什么值?http://blog.csdn.net/gangqinjiawang/article/details/6030218
解决方案二:
本身这个更新是没问题的 也是hibernate不错的功能, 你系统维护数据库对象就可以了,问题在于:对于数据库对象, 增删改都是针对数据库的操作, 不update到数据库就不应该去修改他, 可以把值都copy到你业务的VO对象中再操作. 用VO对象来控制业务, 而不是持久化的对象。不要让这个模型做来多的事情, 功能单一才是好的。

时间: 2024-12-21 09:29:46

修改hibernate返回的结果集,结果他自动将修改结果更新到数据库中的相关文章

java中前台可以修改数据成功,但是数据却不能更新到数据库中。

问题描述 java中前台可以修改数据成功,但是数据却不能更新到数据库中. 在前台修改了数据成功后,可是数据库的数据却没有更新,还是以前的数据. <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforg

Hibernate查询,数据库中无数据正常,有数据出现java.lang.NullPointerException 空指针异常

hibernate执行表与表之间多对一的查询时,如果数据库中没有数据时,一切正常,一旦将数据插入到数据库中,查询的时候将会抛出空指针异常.以下是我的*.hbm.xml的配置 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http

ASP调用带参数的MSSQL存储过程,并返回临时表记录集

前些天,阿里西西web团队(Alixixi.com)在开发一个系统平台时,需要通过存储过程调用多个表的几个字段,合并到一个临时表中,并进行排序返回给ASP调用. 下面,我把经验分享出来: 1.存储过程部分: 以下是存储过程部分:CREATE PROCEDURE [dbo].[alixixi] @sNum int, @sOrder varchar(20)  AS SET nocount on create table #btable (id int,channelid int,classid in

hibernate取出数据并修改后不更新到数据库

问题描述 hibernate取出数据并修改后不更新到数据库 2C 有文章表article hbm:和文章对应的题目表item hbm: 他们为一对多关系,现在在数据库中一篇article对应有18个item,问:怎么样从一片文章中随机抽取6个item再将这个article放到struts2的堆中时,数据库中的每篇文章依然对应18个item;怎么每次我取出来后,数据库中的文章只对应6个item??? 解决方案 数据库修改后Hibernate的配置更新数据库修改后Hibernate的配置更新 解决方

hibernate查出的值与数据库中不一致的问题

问题描述 页面上有个值是用person.getAccount()取的,当手动在数据库改了那一列的话,然后再在页面上查一下显示的还是以前的值??怎么解决 解决方案 解决方案二:ie缓存问题吧,你重启下试试,还不行就把服务器中的项目部署时生成的项目文件删除,tomcat在work目录下找其他服务器上网上找解决方案三:应该是缓存问题吧试试调整一下工程里面的hibernate缓存机制解决方案四:缓存没有及时更新解决方案五:引用1楼ak47zhoujun123的回复: ie缓存问题吧,你重启下试试,还不行

jsp 修改数据库信息-jsp中用户修改表单信息,从而数据库中相应的字段值也update

问题描述 jsp中用户修改表单信息,从而数据库中相应的字段值也update 点击图片1的"修改密码"按钮,会出现图片二的修改密码的表单.这个修改密码是由用户自己修改的,用户修改密码之后,表"userInfo"中的"userPwdz"字段值就相应变化了.我应该怎么写得到用户修改的密码参数,然后update表呢? 新手求指教,麻烦解答一下,感激万分!!!! 解决方案 sql语句写错了,update好像木有 星号,而且参数好像也不应该这样传进去,一般用

怎么用c++的ado.net将access数据库中得到的数据存入一维数组,并返回。

问题描述 怎么用c++的ado.net将access数据库中得到的数据存入一维数组,并返回. RecordsetPtr pRs;pRs.CreateInstance(_uuidof(Recordset));//创建记录集对象 try{ char a[800]; sprintf(aselect 光强 from 光强数据表 where 月份 between 1 and 3 and 时间=%d""num_t); pRs->Open(_bstr_t(a)m_pConn.GetInterf

oracle数据库中小写数据修改为大学数据

问题描述 oracle数据库中小写数据修改为大学数据 解决方案 用upper函数就可以了. 解决方案二: update 表A set sca_qp=upper(sca_qp) 解决方案三: update 表 set SCA_QP = Upper(SCQ_QP) 可以用Upper或者NLS_Upper Oracle函数(将整个字符串转换为大写) NLS_UPPER(x[y]) [功能]返回字符串并将字符串的转换为大写; [参数]x字符型表达式 [参数]Nls_param可选,指定排序的方式(nls

帮解决下,谢谢,读数据库中数据,修改后输出

问题描述 数据库中1个表sj共7个列每列存储1-20中的一个数例如列1列2列3列4列5列6列7125793623478912370321读取出来后按照数字填到对应的dataGridView1中的列里去dataGridView1中有列1列2列3列4.........列20读取出来的是2就在列2中显示2看到家有啥实现的办法,初学者,请尽量写明白些,谢谢 解决方案 解决方案二:感觉应该很简单,可怎么我就是想不通呢,呵呵解决方案三://读取数据库中的每一行记录并修改stringstr="DataSour