Миграция с toplink/eclipselink equalOuterJoin на Hibernate Criteria

Я переношу очень старое приложение из toplink в Hibernate. У меня есть следующий код:

ExpressionBuilder expHVLMAVI  ...

expHVLMAVI.anyOfAllowingNone(perf2CollectionString).get("bereichsCode")
.equalOuterJoin(bereichsCode)

Есть идеи, как перенести его на Hibernate Criteria API? Я понятия не имею, что происходит в этой строке (любое объяснение будет оценено)


person serg    schedule 07.05.2015    source источник


Ответы (1)


expHVLMAVI, скорее всего, представляет класс/сущность в вашей модели, поэтому anyOfAllowingNone является внешним соединением по отношению perf2CollectionString, а затем соединением по отношению bereichsCode. Это всего лишь часть выражения, которое будет использоваться в остальной части запроса.

В JPQL это будет эквивалентно чему-то вроде:

"Select... from ExpHVLMAVI expHVLMAVI left outer join expHVLMAVI.perf2CollectionString as perf2CollectionString join perf2CollectionString.bereichsCode as bereichsCode"

То, что вы делаете с объявлением bereichsCode, зависит от вас.

person Chris    schedule 07.05.2015
comment
Спасибо, в JPQL это выглядит намного читабельнее, чем в eclipselink API - person serg; 08.05.2015