簡體   English   中英

簡單的Jpa查詢無法正常工作

[英]Simple Jpa query not working

我想刪除屬於用戶的最早創建的項目:

這是我嘗試過的:

    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,因此不起作用。

如果我正確理解您的模型,則要刪除他首先創建的用戶項。 但是,您正在嘗試刪除由任何用戶首先創建的特定用戶的項目。

查詢您需要的:

delete from items i 
  where i.user = :user and i.createdOn =
    (select min(i1.createdOn) from items i1 where i1.user = :user)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM