java - IllegalArgumentException - 与预期类型不匹配,无法构建查询
问题描述
我正在尝试编写以下 JPQL 查询。
List<Person> personList = query
.from(person)
.innerJoin(person.address, address)
.where(address.status.eq("active")
.fetch();
以下是执行上述行后抛出的异常:
nested exception is java.lang.IllegalArgumentException: Parameter value [select person
from Person person
inner join person.address as address
where address.status = ?1] did not match expected type [com.org.myProject.entity.Address (n/a)]
解决方案
你能试试这个吗
EntityManager em = entityManagerFactory.createEntityManager();
Query query = em.createQuery("SELECT DISTINCT p FROM Person p INNER JOIN p.address a");
List<Person> resultList = query.getResultList();
推荐阅读
- python - 仅使用 panda 替换数据框中的值(不使用 numpy)
- mysql - 无法创建模式 - MySQL Workbench
- php - 在 PHP 5.6 上安装 OCI8 失败
- database - PyQt 在 tableview 中加载数据库
- php - &符号在 XML 文档中显示为“&”
- semantic-versioning - 如果构建工具强制重新构建,它是否是“重大变化”(每 semver)?
- django - VueJs 和 Django 开发环境
- matlab - 如何使用 matlab 同步 kinect 的颜色和深度传感器?
- python - 这些反斜杠转义序列使用什么标准?
- php - 使用 PHP 在随机服务器上连接到 Soap 服务器失败