我正在尝试基于复杂查询创建域/实体类。查询将一堆表联合在一起,遗憾的是我无法在数据库上为此查询创建视图。我一直在尝试设置实体对象,但我不确定如何确保编组工作正常(并确保实体充当只读对象)。 作为查询的一个例子,我正在做这样的事情:
Select
U_T.a,
U_T.b,
U_T.c,
C_T.a
FROM
(select
A_T.a,
null as b,
A_T.c,
1 as ind
from A_T
UNION
select
B_T.a,
B_T.b,
null,
0 as ind
FROM B_T
) U_T
left outer join C_T on C_T.fk_a = U_T.a;
其他问题是此联合可能导致没有唯一键列的实例。这很好,因为这些数据仅供查看,从不编辑。但是@Entity注释需要使用@ID注释列出列。另一个问题是我不相信我可以使用其他实体类,因为目标是减少来自此查询的数据库事务的数量(因为实际可以导致执行数百个递归查询)。
如果我需要提供更多信息,请告诉我。