在数据库中插入一个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的缓存有联系,但是找不到证据又不知道怎么解决,高手们帮帮忙啊
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的缓存有联系,但是找不到证据又不知道怎么解决,高手们帮帮忙啊
do it one time
而insert函数每save一次就count++,但是就是不知道为什么会调用一次insert就会多次执行
session.save
极端郁闷中......