2

このプロジェクトでは、永続化レイヤーは Hibernate を使用しますが、モデルとデータベースのマッピングはほとんど JPA アノテーションで構成されています。
Hibernate のアップグレードは、HQL が変更されていない一方で、新しい Hibernate バージョンが SQL で不要な結合を生成するため、困難になっています。そのため、Hibernate の HQL パーサーの代わりに他のオプションを探しています。
QueryDSL を使用して HQL スタイルのクエリを作成し、QueryDSL で SQL を生成することは可能ですか?

4

1 に答える 1

1

Querydsl JPA は JPA 実装ではないため、JPA で Querydsl を使用する場合、生成された SQL を直接制御することはできません。使用する SQL をより適切に制御して Querydsl を使用する場合は、代わりに Querydsl SQL を使用してください。

多くの場合、Hibernate での不要な結合は、HQL レベルでの暗黙的な結合 (プロパティ トラバーサル) によって引き起こされます。それはあなたのケースにも当てはまるかもしれません。

于 2013-11-13T11:07:13.517 に答える