我正在将真正的旧应用程序从toplink迁移到Hibernate。 我有以下代码:
ExpressionBuilder expHVLMAVI ...
expHVLMAVI.anyOfAllowingNone(perf2CollectionString).get("bereichsCode")
.equalOuterJoin(bereichsCode)
有关如何将其迁移到Hibenates Criteria API的任何想法?我不知道这一行会发生什么(任何解释都将不胜感激)
答案 0 :(得分:1)
expHVLMAVI可能代表模型中的一个类/实体,因此anyOfAllowingNone是perf2CollectionString关系的外连接,然后是bereichsCode关系的连接。这只是要在查询的其余部分中使用的表达式的一部分。
在JPQL中,这类似于以下内容:
"Select... from ExpHVLMAVI expHVLMAVI left outer join expHVLMAVI.perf2CollectionString as perf2CollectionString join perf2CollectionString.bereichsCode as bereichsCode"
您对bereichsCode声明所做的事情由您决定。
答案 1 :(得分:0)
根据Chris的JPQL,我有这样的事情:
criteria.createAlias("fabrication." + perf2CollectionString, "perf", JoinType.LEFT_OUTER_JOIN);
criteria.add(Restrictions.eq("perf.bereichsCode", bereichsCode));
但我绝对不确定,如果有人能检查我是否错了,以及如何纠正,请帮忙。