SSH中怎么实现根据id删除一条数据?求大神!!

如题,小白一枚,主要是this.getHibernateTemplate().delete();方法只能传对象,个人感觉太复杂,自己如果写一个删除不用它里面的方法应该怎么写?

 public void delete(int id){

String hql="delete Person as p where p.id=?";

Query query=session.createQuery(hql);

query.setInteger(0,id);

query.executeUpdate();

session.beginTransaction().commit();

}

hibernate可以写SQL语句的,就是HQL,自定义sql语句进行执行的。

public void delete(Long topicid) {
// TODO Auto-generated method stub
/*Topic topic = (Topic) sessionFactory.getCurrentSession().get(Topic.class, topicid);
//假删除
topic.setTOpen(2);*/
//sessionFactory.getCurrentSession().delete(topicid);
sessionFactory.getCurrentSession().createQuery("delete from Topic where TId=:id").setParameter("id", topicid).executeUpdate();
}