我有2个表,我正在尝试使用连接而不在类之间进行任何映射
(StData和ApFlow)。我有这样的查询,我在数据库中得到了所需的结果。
是否有可能没有映射,如果是这样的话怎么办。请有人帮助我。
这个查询正在获得QueryException: Unable to resolve path [ApFlow.ApNumber]
。
session.createQuery("FROM StData "
+ "LEFT OUTER JOIN ApFlow "
+ "ON StData.Apart = ApFlow.Apart and StData.StTitle = ApFlow .StTitle "
+ "WHERE ApFlow.ApNumber= :ApNumber and ApFlow.Apart= :Apart")
.setParameter("ApNumber",ApNumber)
.setParameter("Apart", Apart)
.list();
答案 0 :(得分:1)
你可以用Hibernate 5.1+做到这一点: Join unrelated entities in JPA
而且,可能需要添加别名
"FROM StData st"
+ "LEFT OUTER JOIN ApFlow flow "
+ "ON st.Apart = flow.Apart and st.StTitle = flow.StTitle "
+ "WHERE flow.ApNumber = :ApNumber and flow.Apart = :Apart"
可以使用交叉产品模拟此查询。但是,请记住,这不是真left join
(null
值的原因)。这更像是inner join
。
"FROM StData st, ApFlow flow"
+ "WHERE st.Apart = flow.Apart and st.StTitle = flow.StTitle "
+ "and flow.ApNumber= :ApNumber and flow.Apart= :Apart"