JPA CriteriaBuilder有没有办法获取非实体对象?

JPA CriteriaBuilder有没有办法获取非实体对象?,jpa,criteria-api,openjpa,Jpa,Criteria Api,Openjpa,假设我想从2个数据库中进行选择。数据库1有字段A、B和C。数据库2有字段D、E和F。我有一个由字段X、Y和Z组成的POJO。我想编写一个CriteriaBuilder查询,以选择结果集中的所有B、D和F字段,并将它们映射到POJO中的字段X、Y和Z,返回POJO对象列表。这可能吗?我可以使用本机查询执行此操作,但我不想使用本机查询。您可以尝试使用以下查询返回由其他实体初始化的实体: SELECT NEW com.package.Entity3(e1.b, e2.d, e2.f) FROM Ent

假设我想从2个数据库中进行选择。数据库1有字段A、B和C。数据库2有字段D、E和F。我有一个由字段X、Y和Z组成的POJO。我想编写一个CriteriaBuilder查询,以选择结果集中的所有B、D和F字段,并将它们映射到POJO中的字段X、Y和Z,返回POJO对象列表。这可能吗?我可以使用本机查询执行此操作,但我不想使用本机查询。

您可以尝试使用以下查询返回由其他实体初始化的实体:

SELECT NEW com.package.Entity3(e1.b, e2.d, e2.f) FROM Entity e1, Entity e2;
然后,您必须提供一个具有类似于查询中的签名的构造函数,您可以根据需要设置字段值

public Entity3(int b, int d, int f){
   x = b;
   y = d;
   z = f;
}

您有两个数据库还是两个表?JPA与实体合作。不是桌子。向我们展示这些实体及其映射。对不起,我说错了。它是两个表…而不是两个数据库。Entity1映射到表1并包含字段A、B和C。Entity2映射到表2并包含字段D、E和F。我希望从这些字段中进行选择,但我希望我的结果是第三个非实体POJO的列表。我希望POJO包含3个字段-X、Y和Z。我希望这3个字段分别包含Entity1.B、Entity2.D和Entity2.F的查询结果。我希望能够使用CriteriaBuilder执行查询并获取此结果列表。可能的重复项