【发布时间】:2017-12-07 13:16:10
【问题描述】:
考虑表 A 和 B。表 A 中的整个列和表 B 中的一列只需要获取。以前,创建了一个命名查询,用于获取表 A 的整个列值。现在我也需要包含表 B 的一列。
在DAO类中,下面是代码
X x=null
Query query = getEntityManager().createNamedQuery("AAA").setParameter("serialID",val);
x=(X) query.getSingleResult()
在 DTO 类中,AAA 是 X 类的一部分,它引用表 A。AAA 的查询如下:
select X from A X where COLUMNVAL= serialID;
现在,表 B 也有 COLUMNVAL,我需要考虑该表中 xyz 列的值。考虑 xyz 映射在 Q 类中。
我尝试了下面的查询,因为 java.lang.object 无法转换为 A,所以我得到了 classcast 异常
select X, Q.xyz from A X, B Q where X.COLUMNVAL = Q.COLUMNVAL AND X.COLUMNVAL=serialID
请支持如何进一步进行。 A 有大量的列,因此 ResultList 不是首选。
【问题讨论】:
-
你有指定的映射吗?
-
都是注释
-
还不错.. 你能把最重要的部分放好吗
-
对不起?我不明白你
-
你能包含完整的堆栈跟踪吗?您能否在另一个工具中运行查询以检查它是否有效?