Java 条件API在Select语句中创建新对象

Java 条件API在Select语句中创建新对象,java,jpa-2.0,jpql,criteria-api,Java,Jpa 2.0,Jpql,Criteria Api,现在,我可以使用类似这样的代码在select语句中使用CriteriaAPI创建新对象 CriteriaBuilder cb... CriteriaQuery<Wrapper> q = cb.createQuery(Wrapper.class); Root<SuperClass> c = q.from(SuperClass.class); q.select(cb.construct(Wrapper.class,c.get("name"))); 提前谢谢 我不知道

现在,我可以使用类似这样的代码在select语句中使用CriteriaAPI创建新对象

CriteriaBuilder cb...
CriteriaQuery<Wrapper> q = cb.createQuery(Wrapper.class);
  Root<SuperClass> c = q.from(SuperClass.class);
  q.select(cb.construct(Wrapper.class,c.get("name")));

提前谢谢

我不知道我是否正确理解了您的问题,但您可以使用HQL创建类似的内容,至少使用hibernate。你可以看到更多

就像你展示的那样。从Hibernate HQL文档:

select new Family(mother, mate, offspr)
    from DomesticCat as mother
    join mother.mate as mate
    left join mother.kittens as offspr

希望这有帮助

嗨,拉尔夫,我必须使用CriteriaAPI,如果我可以使用HQL或JPQL,那就不会有问题了。真正的问题是使用条件提取有关实体类的信息(在JPQL中,我可以使用“type”表达式)API@user1463860我懂了。您可以使用
Transformers#aliasToBean
并使用alias属性进行自动转换,我们可以实现
ResultTransformer
并手动执行。
select new Family(mother, mate, offspr)
    from DomesticCat as mother
    join mother.mate as mate
    left join mother.kittens as offspr