【发布时间】:2014-02-21 05:00:46
【问题描述】:
我有一个 Table,叫它 REI_BODY,我还有一个,叫它 REI_AMT_INFO。我在 oracle pl/sql 中有一个选择:
选择 *,
(SELECT AMT FROM REI_AMT_INFO I WHERE I.REI_ID=T.REI_ID AND AMT_TYPE_CD = '01') AMT_01, (SELECT AMT FROM REI_AMT_INFO I WHERE I.REI_ID=T.REI_ID AND AMT_TYPE_CD = '02') AMT_02, (SELECT SGN_CD FROM REI_AMT_INFO I WHERE I.REI_ID=T.REI_ID AND AMT_TYPE_CD = '01') SGN_01, (SELECT SGN_CD FROM REI_AMT_INFO I WHERE I.REI_ID=T.REI_ID AND AMT_TYPE_CD = '02') SGN_02, FROM REI_BODY T
这是 REI_AMT_INFO 表,没有外键!:
REI_ID (Number);
AMT_TYPE_CD (Varchar);
AMT (Number);
SGN_CD (Varchar);
我必须用 JPA JPQL 语言创建这个选择。我怎么能这样做?
【问题讨论】:
-
显然 JPQL 是基于类和字段的,而您没有展示任何内容。想一想你希望任何人如何回答这个问题。当你在做的时候,告诉人们你尝试了什么以及你得到了什么结果。
-
在不知道表名的情况下,您可以在类或 xml 中使用命名查询,我是对的。如果有错请纠正我。
-
JPQL 涉及类名、字段名……而命名查询只是将 JPQL 放在注释或 XML 中,因此您仍然需要知道类名和字段名。所有基本的 JPA 文档和 JPA 规范都揭示了这一点