解决方案 »

  1.   

    调试看看sql 执行没,where 条件对不
      

  2.   

    你第二个返回的是list2 但接下来循环用的是list.size ,楼主再检查下代码。
      

  3.   

    都是对的,没有错的,控制台也可以打印,我想应该是配置文件的问题,配置文件代码:
    <?xml version="1.0"?><!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN">-<hibernate-mapping>
    -<class lazy="false" table="ORG_GROUPPERSON" name="com.resoft.cowork.sysadmin.domain.OrgGroupperson">
    -<composite-id name="id" class="com.resoft.cowork.sysadmin.domain.OrgGrouppersonId">
    -<key-property name="groupid" type="java.lang.String"><column name="GROUPID"/></key-property>
    -<key-property name="personid" type="java.lang.String"><column name="PERSONID"/></key-property>
    -<key-property name="grouptypeid" type="java.lang.String"><column name="GROUPTYPEID"/></key-property></composite-id>
    -<property name="sortindex" type="java.lang.Long"><column name="SORTINDEX"/></property></class></hibernate-mapping>
      

  4.   

    1、把sql打印出来看一下看看。
    2、检查下update方法。
    3、看下数据库中是否有update对应数据。
      

  5.   

    你说的第一次可以提交,第二次不能提交, 是只第一个for循环可以, 第二个不行, 还是第一个for循环里的第一次提交可以,后面的都不可以?
    这个应该是hibernate缓存的问题!
    代码中第二个for循环的条件是否有问题?【跟提交没关系】
      

  6.   

    debug,看list2 查询出来的结果,
    看进入for循环后每行的执行情况,
    检查执行前后的该条数据项变化情况,
    是否是update(orgGroup) 这一行出错,或是执行了但数据没有改变。
    然后再分析原因。
      

  7.   

    这种  最好debug调试看看。 看到实际的再分析.