簡體   English   中英

使用 EntityManager.createQuery 在 DAO 實現中制定 sql 查詢時遇到問題

[英]Trouble formulating a sql query in DAO Implementation using EntityManager.createQuery

我在我的 DAOImpl 中有一個方法,該方法旨在從數據庫中獲取屬於特定用戶的所有書籍的列表...該方法如下所示:

@Override
public List<>BooksList> findListsOf(String userId) {
    Query query = em.createQuery("SELECT * from BooksList where booksListOwner = unserid");
    List<BooksList> resultsList = query.getResultList();
    if (resultsList.isEmpty()) throw new NotFoundException();
    return resultsList;
}

IntelliJ 向我顯示此錯誤:

表達式或 DISTINCT 預期,得到 '*'

我的 sql 聲明有什么問題?

BR,麥克風

您需要指定一個標識變量而不是 SQL 通配符

List<BooksList> resultsList = em.createQuery(
  "SELECT b from BooksList b where booksListOwner = :userId")
  .setParameter("userId", userId)
  .getResultList();

暫無
暫無

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

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