Query q = session.createQuery("from Customers as c where c.id=:id"); q.setString("id",id); q.executeUpdate();....commit();
先用这个条件查出这个实体,再删除。如下。 String hql="from Customers as c where c.id=1" Customers cus = (Customers) getHibernateTemplate().find(hql); getHibernateTemplate().delete(cus); 如果你没有用过getHibernateTemplate(),你就用4楼的方法来查,然后再删除查到的实体。
q.setString("id",id);
q.executeUpdate();....commit();
String hql="from Customers as c where c.id=1"
Customers cus = (Customers) getHibernateTemplate().find(hql);
getHibernateTemplate().delete(cus);
如果你没有用过getHibernateTemplate(),你就用4楼的方法来查,然后再删除查到的实体。
session.delete(entity) 里面应该是个实体对象
hibernate 的删除机制是先查询再删除
Session session = HibernateSessionFactory.getSession();
Transaction tx = session.beginTransaction();
try {
Object o = session.get(clazz, key); //clazz是你要删除的对象,key是你的主键值,这个是根据主键查询
session.delete(o);
tx.commit();
} catch (Exception e) {
if (tx != null)
tx.rollback(); // 事务回滚
throw e;
}
Query q = session.createQuery("from Customers where c.id=:id");
q.setString("id",id);
q.executeUpdate();
要提交事务并回滚