使用HQL在session.delete和delete之间有什么区别

时间:2013-09-26 13:46:03

标签: java hibernate jpa orm

两种变体之间有什么区别:

1

 session.createQuery("delete from Vacancy where id = :id")
                        .setInteger("id", vacancy.getId()).executeUpdate()

2  。 session.delete(vacancy);

1 个答案:

答案 0 :(得分:2)

使用session.delete的优点是,如果关联与cascade="delete"映射,则会级联到关联的实例。

但如果您使用createQuery直接删除查询,则不会发生级联。