【发布时间】:2026-02-12 03:00:01
【问题描述】:
我有一个使用EntityManager 构建的查询:
Query q = em
.createQuery("SELECT * FROM :table WHERE username = :username AND password = MD5(:password)")
.setParameter("table", User.class.getName())
.setParameter("username", txtLogin.getText())
.setParameter("password", passPassword.getPassword())
;
User user = (User) q.getSingleResult();
但我得到一个例外:
线程“AWT-EventQueue-0”中的异常 java.lang.IllegalArgumentException:一个 创建时发生异常 在 EntityManager 中查询:
例外 说明:解析语法错误 查询 [SELECT * FROM :table WHERE 用户名 = :用户名和密码 = MD5(:password)],第 1 行,第 7 列: 意外令牌 [*]。
如何解决?
查询中不能使用*吗?
【问题讨论】: