【发布时间】:2020-12-30 01:09:40
【问题描述】:
我有一个如下所示的查询:
@Query(value = "SELECT e FROM Entity e") 返回所有实体(当前为 15 个)。我只想选择某些字段以使查询的内存效率更高(有很多我不需要的嵌入式实体)。
我有 2 个多对一关系,a 和 b,其中一个通常为 null,另一个有值。如果我执行@Query(value = "SELECT e.a FROM Entity e"),我会得到 a 不为空的 10 个结果,而当我执行 @Query(value = "SELECT e.b FROM Entity e") 时,我会得到其他 5 个 b 不为空的结果。但是,如果我这样做 @Query(value = "SELECT e.a, e.b FROM Entity e") 我会得到 0 个结果。我会假设它会全部 15 个,并将其返回为 List<Object[]>。为什么会发生这种情况,我可以将其更改为 @Query(value = "SELECT e.a, e.b FROM Entity e") 返回所有实体吗?
【问题讨论】: