我用hibernate操作数据库 删除记录时 return true 但是删除不掉 hibernate sql语句也没有打印 配置文件中show_sql 是true
一下是删除代码:
public boolean DeleteObj(Object obj){
try{
startTransaction();
session.delete(obj);
return true;
}catch(HibernateException e){
System.out.println(e.getMessage());
log.fatal(e);
}
return false;
}startTransaction():
private void startTransaction() {
session = HibernateUtil.currentSession();
session.beginTransaction();
}事物和session是通过filter关闭的一下是测试代码:
NbrT nbr = nti.getNbrT(1); //nbi 测试类对象 NbrT要删除的对象类 对象获取了 打印出来nbr的属性 boolean flag = nti.deleteNbr(nbr);可是就是删除不掉!
一下是删除代码:
public boolean DeleteObj(Object obj){
try{
startTransaction();
session.delete(obj);
return true;
}catch(HibernateException e){
System.out.println(e.getMessage());
log.fatal(e);
}
return false;
}startTransaction():
private void startTransaction() {
session = HibernateUtil.currentSession();
session.beginTransaction();
}事物和session是通过filter关闭的一下是测试代码:
NbrT nbr = nti.getNbrT(1); //nbi 测试类对象 NbrT要删除的对象类 对象获取了 打印出来nbr的属性 boolean flag = nti.deleteNbr(nbr);可是就是删除不掉!
private void startTransaction() {
session = HibernateUtil.currentSession();
session.beginTransaction();
} 这个地方 应该改为 :private void startTransaction() {
session = HibernateUtil.currentSession();
HibernateUtil.beginTransaction();
} 要统一呵呵
try{
startTransaction(); ==>> 此句改为:session = HibernateUtil.currentSession(); Transaction trs = session.beginTransaction();
session.delete(obj); ==>此句后面加上: trs.commit(); session.close();
return true;
}catch(HibernateException e){
System.out.println(e.getMessage());
log.fatal(e);
}
return false;
}