我在JPQL
创建查询时遇到问题,要通过名为Table1
(make Table2
)的字段加入两个表code
和LEFT JOIN
。
问题是我的两个实体与JPA没有关系(我需要这样做)。
我搜索了一个解决方案,但我还没有找到它。
答案 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,但您可以使用本机查询,考虑使用它们来解决您的需求。