6

たとえば、生成されたメタモデルなしで JPA Criteria API を使用できます。型の安全性は失われますが、実行時にリフレクションのみを使用して、データ モデルの予備知識がなくてもクエリを作成できます。同じように Querydsl を使用したいと思います。とにかく前もってデータモデルを知らないので、型の安全性は気にしません。

私の最近のプロジェクトでは、主に Querydsl を使用したいと考えています。これは、永続性を超える別のレイヤーを構成するためです。したがって、JPA、JDO、JDBC、Lucene、Hibernate Search、MongoDB、Collections、および RDFBean で同じクエリを使用できることを願っています。

または、説明されている方法で使用できる Querydsl に代わるものはありますか?

NoSQL DB が増加しているためです。さまざまな永続化プロバイダーで同様の抽象レイヤーを構成する他のフレームワークはありますか?

4

1 に答える 1

6

生成されたメタモデルなしで Querydsl を使用するには、2 つの方法があります。

最初の方法は、手動で式を作成することです http://www.querydsl.com/static/querydsl/2.9.0/reference/html/ch03.html#d0e1379

2 つ目は、Querydsl http://www.querydsl.com/static/querydsl/2.9.0/reference/html/ch02s07.htmlの Alias 機能を使用することです。

Querydsl クエリは共通のインターフェイスを共有し、似ていますが、Querydsl はモジュール間でクエリの抽象化を提供しないため、異なる永続化タイプに対して同じクエリを直接使用することはできません。

述語やプロジェクションなど、クエリの個々の部分は共有できますが、クエリは特定のモジュールに関連付けられています。

できることは、一般的な永続化の抽象化である JPA または JDO の 1 つに固執し、それらを介して RDBMS、OODB、および NoSQL エンジンを使用することです。

于 2013-02-28T15:34:31.997 に答える