在数据库中插入一个package personalResource;import ....public class EducationAdministratorBean {
    static Session session=null;
    static List  list=null;
    static int count=0;
    public static int Insert(educationAdministrator q)throws Exception{
        try{
            session = HibernateUtil.currentSession();
            Transaction tx = session.beginTransaction();
            session.save(q);
            count++;
            tx.commit();
        }catch(HibernateException e){
            e.printStackTrace();
        }finally{
            HibernateUtil.closeSession(session);
        }
    }
........educationAdministrator.hbm.xml<hibernate-mapping>
    <class name="personalResource.educationAdministrator" table="educationadministrator"><!--把类和数表关联起来-->
        <id name="id" unsaved-value="null" type="long">
            <generator class="native" />
</id>
<property name="userID"  type="string"  />
<property name="name"   type="string" />
                <property name="password"   type="string" />
<property name="address" type="string" />
<property name="collegeID" type="string" />
                <property name="email" type="string" />
                <property name="phone" type="string" />
                <property name="postcode" type="string" />
                <property name="sex" type="boolean" />    </class>
</hibernate-mapping>数据库用mysql,里面有个educationadministraor表,字段和xml文件对应外部调用是这样的
int a=o;
educationAdministrator c=new educationAdministrator("ccc","ccc","ccc");
try {
  a=EducationAdministratorBean.Insert(c);
  out.print("do it one time "+<br/>");
}catch(Exception e){
}
out.print(a);
结果输出是:
do it one time
3外部调用只是执行一次,insert函数就被执行了三次,有时候是两次,数据库被插入了三条相同的记录,以前做的时候都没遇见过这种情况,第一次遇到,十分郁闷,怀疑是和hibernate的缓存有联系,但是找不到证据又不知道怎么解决,高手们帮帮忙啊

解决方案 »

  1.   

    我建议你看看调用的这个函数有没有问题我以前遇见过插入两条的问题,查到后来是页面写错了写了一个这样的东东  <input type="submit" value="提交" onclick="doSub()">在doSub函数里又做了一次提交 XXXXform.submit();结果导致每次插两条数据.
      

  2.   

    检查过了```好像没有问题啊````因为外部每调用一次insert函数就输出一次 
    do it one time
    而insert函数每save一次就count++,但是就是不知道为什么会调用一次insert就会多次执行
    session.save
    极端郁闷中......