首页 > 解决方案 > 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)] 

标签: java

解决方案


你能试试这个吗

EntityManager em = entityManagerFactory.createEntityManager();
Query query = em.createQuery("SELECT DISTINCT p FROM Person p INNER JOIN p.address a");
List<Person> resultList = query.getResultList();

推荐阅读