我想删除属于用户的最早创建的项目:
这就是我的尝试:
em.createQuery("delete from items i where i.user =:user and i.createdOn =(select min(i1.createdOn) from items i1)")
.setParameter("user", user)
.executeUpdat();
我也尝试过:
Query query =
em.createQuery("select i.id from item i where i.user =:user and i.createdOn =(select min(i1.createdOn) from items i1)")
.setParameter("user", user);
Integer item_id = query.getFirstResult();
em.createQuery("delete from items i where i.id = :id")
.setParameter("id", item_id)
.executeUpdate();
以上似乎总是在第一次查询时返回0,因此不起作用。
答案 0 :(得分:1)
如果我正确理解您的模型,您想要删除他首先创建的用户的项目。但您尝试删除由任何用户首先创建的特定用户的项目。
您需要的查询:
delete from items i
where i.user = :user and i.createdOn =
(select min(i1.createdOn) from items i1 where i1.user = :user)