如何解决使用 EntityManager.createQuery 在 DAO 实现中制定 sql 查询时遇到问题
我的 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;
}
预期的表达式或 disTINCT,得到 '*'
我这里的 sql 语句有什么问题?
BR, 麦克风
解决方法
您需要指定一个标识变量而不是 SQL 通配符
List<BooksList> resultsList = em.createQuery(
"SELECT b from BooksList b where booksListOwner = :userId")
.setParameter("userId",userId)
.getResultList();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。