【问题标题】:Native query result mapping to custom object in spring jpa原生查询结果映射到spring jpa中的自定义对象
【发布时间】:2019-05-23 09:07:40
【问题描述】:

我需要使用本机查询对 2-3 个表进行 UNION 操作,并且需要将结果映射到自定义对象中。由于 JPA 不支持 UNION 子句,因此 JPA 无法实现相同的操作。

听说过SqlResultSetMapping,在这种情况下有用吗?

如何以及在哪里使用这个,任何链接或什么?在google上没有得到太多信息。

【问题讨论】:

标签: spring spring-boot spring-data-jpa


【解决方案1】:

这是一个链接,提供有关解决问题的替代方法和使用结果集的信息。 UNION to JPA Query

Query query = em.createQuery("SELECT p FROM Person p  WHERE title = theTitle", Person.class);
Query query2 = em.createQuery("SELECT p FROM Person p  WHERE firstName = theFirstName", Person.class);
List<Person> list = query.getResultList();
List<Person> list2 = query2.getResultList();
LinkedHashSet<Person> result = new LinkedHashSet<Person>();
result.addAll(list);
result.addAll(list2);

【讨论】:

  • 我可以在同一个应用程序中同时使用 JPA 存储库和 eclipseLink 吗?因为我已经使用 JPQL crud 存储库完成了所有查询。只有一个查询具有 JPQL 不支持的 UNION,所以我正在寻找其他选项。
  • 因此,您可以执行我现在在答案中添加的操作。
猜你喜欢
  • 2015-05-18
  • 2020-08-17
  • 2017-12-13
  • 2012-04-28
  • 2020-04-02
  • 2016-09-22
  • 2021-02-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多