先前建了一个带主键的表,后来删除了它,然后又建了一个同名的表,但字段不同,编辑项目后报错:Unexpected row count: 0 expected: 1
在网上找了一下,说是主键的问题,想问一下有没有方法可以补救?

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【xxx198547】截止到2008-07-15 21:53:47的历史汇总数据(不包括此帖):
    发帖的总数量:5                        发帖的总分数:30                       每贴平均分数:6                        
    回帖的总数量:69                       得分贴总数量:16                       回帖的得分率:23%                      
    结贴的总数量:5                        结贴的总分数:30                       
    无满意结贴数:2                        无满意结贴分:40                       
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:40.00 %               无满意结分率:133.33%                  
    敬礼!
      

  2.   

    如果有<one-to-one>配置,将cascade属性的值改为none试试看。
    你希望是insert,但实际发送的是update,因为你的主键没有值,所以产生了错误。
      

  3.   

    我没有配置 <one-to-one>,不知道还有什么原因呢?AccessControl.hbm.xml 文件如下:<?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <!-- 
        Mapping file autogenerated by MyEclipse Persistence Tools
    -->
    <hibernate-mapping>
        <class name="com.efeather.elogs.bean.ddfh.AccessControlModel" table="AccessControl">
            <id name="id" type="java.lang.Integer">
                <column name="id" />
                <generator class="identity"/>
            </id>
          
            <property name="name" type="java.lang.String">
                <column name="name" length="50" />
            </property>
            <property name="depatment" type="java.lang.String">
                <column name="depatment" length="50" />
            </property>
            <property name="approveChoose" type="java.lang.String">
                <column name="approve_choose" length="50" />
            </property>
        </class>
    </hibernate-mapping>