左连接两个与JPQL无关的表

时间:2014-02-25 17:50:58

标签: java jpa jpql

我在JPQL创建查询时遇到问题,要通过名为Table1(make Table2)的字段加入两个表codeLEFT JOIN

问题是我的两个实体与JPA没有关系(我需要这样做)。

我搜索了一个解决方案,但我还没有找到它。

2 个答案:

答案 0 :(得分:2)

您可以让实体管理器执行本机查询。见this page section "Utilizing Native SQL Queries"

所以你的代码看起来像这样:

List<SOME_DATA_TYPE> list = (List<SOME_DATA_TYPE>)em.createNativeQuery
  ("SELECT * FROM table1 a join talbl2 b on a.somefiedd = b.somefield " ,    some.package.name.SOME_DATA_TYPE.class)
                              .getResultList(); 

技术上不是JPQL,但仍然是JPA。这是个主意。 希望有所帮助。

答案 1 :(得分:1)

如果您没有使用正确的实体关系,则不能使用JPQL,但您可以使用本机查询,考虑使用它们来解决您的需求。