命名查询通过提供整个对象来删除记录

时间:2012-05-14 13:34:29

标签: hibernate jpa

您好我想通过给出其entityClass SptTutorials的对象来从表spt_tutorials中删除一条记录。我正在编写这样的命名查询。

@NamedQuery(name = "SptTutorials.deleteVideo", query = "DELETE s FROM SptTutorials s WHERE s.SptTutorials = :SptTutorials")})

其中SptTutorials是实体类,我通过WHERE子句传递的参数是SptTutorials对象。这个查询是正确的。

1 个答案:

答案 0 :(得分:4)

由于“SptTutorials”是SptTutorials中的一个字段,然后修复您的查询。 “s.SptTutorials”表示对象“s”的字段“SptTutorials”(其类型为SptTutorials)。也许

DELETE FROM SptTutorials s WHERE s = :param

DELETE FROM SptTutorials s WHERE s.id = :id

其中“id”是要删除的SptTutorials对象的标识(字段)。 所有这些都可以通过快速阅读JPA规范或任何一个JPA文档在线看到