我正在尝试将预言机结果列表绑定到摘要列表。但是我的摘要列表有3个类被定义为DB的实体
我有三个实体类A,B,C
Summary.class
{
@Autowired
private A a;
@Autowired
private B b;
@Autowired
private C c;
//getters and setters
}
@Enity
class A{
Fields 1..n ;
} // same goes for other classes definition
我使用以下查询获得结果,但结果无法转换为摘要对象
List<Summary> summaryList = entityManager.createQuery("from A a, B b, C c" +
" where a.field1 = b.field1 and a.fValue = :fValue " +
"and b.field3= c.field3", Summary.class)
.setParameter("fValue ", fValue )
.getResultList();
调试:我确保结果列表不为空,如果我不将其转换为对象,下面的查询可以正常工作
List summaryList = entityManager.createQuery("from A a, B b, C c" +
" where a.field1 = b.field1 and a.fValue = :fValue " +
"and b.field3= c.field3")
.setParameter("fValue ", fValue )
.getResultList();
我看到的第一种方法是遍历summaryList,并像这样将它们分配给单个列表,我还没有测试过这种方法,但我认为它可能会给出一个类强制转换异常,因为强制转换以前也有效
for (int i = 0; i < summaryList.size(); i++) {
Summary s= (Summary) summaryList.get(i); // might be class cast Exception
aList.add(s.getA());
bList.add(s.getB());
}
我想的备选方案2是从db中只获取A类字段列表,将其转换为A的列表,使用蛮力执行3次,直到获得所有字段。
下面是我在创建新问题之前看过的一些问题
使用不同的类来组合多个实体类
获取映射回pojo的列表
请让我知道你的想法,我认为我的主要方法是一种很好的方法,如果可行的话。
您的JPQL select语句< code >“from A A,B b,C C”无法映射回摘要实体,JPA没有足够的信息来执行此操作。< br >
如果在您的逻辑中,一个摘要实例可以由A、B、C组成,那么您可以有一个类似< br >的构造函数
public Summary(A a, B b, C c) { ............. }
"select new Summary(a, b, c) FROM A a, B b, C c"
我收到错误“无法使用请求的结果类型为具有多个返回的查询创建TypeQuery”我尝试了所有列值返回。那次应用程序挂起。我需要在arraylist中获取客户端列表。请帮助,我是JPA新手。 客户端类是
我正在使用以下JPA查询,我得到了java.lang.IllegalArgumentException:无法为具有多个返回异常的查询创建TypeQuery。 谁能告诉我我的问题有什么错吗.....我是JPA的新成员,我不知道这里有什么问题。如果有人有想法,请告诉我。
Firebase查询返回此查询的值 该项由model类捕获 但是,返回null
问题内容: 我有一个数据库,正在运行以下查询: 上面的查询一次返回两个结果集,我不能分别触发两个查询。如何在Java类中一次处理两个结果集? 问题答案: 正确的代码来处理JDBC语句返回的多个: 重要位: 并返回以表明语句的结果只是一个数字,而不是一个。 您需要检查以了解是否还有更多结果。 确保关闭结果集或使用
本文向大家介绍Python中让MySQL查询结果返回字典类型的方法,包括了Python中让MySQL查询结果返回字典类型的方法的使用技巧和注意事项,需要的朋友参考一下 Python的MySQLdb模块是Python连接MySQL的一个模块,默认查询结果返回是tuple类型,只能通过0,1..等索引下标访问数据 默认连接数据库: 查询数据: 打印: 执行结果: 为tuple类型。 我们可以这么干使得
我正在尝试运行一个insert语句,它将帮助我为下面的api调用创建用户帐户。我查看了JMeter JDBC请求,其中包含select/update/ect。。。我没有看到插入查询类型。有人知道我如何运行一些插入查询来创建数据库的用户吗? 谢谢我。