web-dev-qa-db-ja.com

Javaに同等のエンティティフレームワークはありますか?

C#でプログラミングした人は誰でも、Entity Framework as ORM(object-relational mapper)。プログラマーがC#コードのみを使用してデータベースを照会できるようにします。

たとえば、Shopというデータベースがあり、ShopデータベースにProductsテーブルがある場合、Productstableのすべての積を取得できます。次の方法で価格は2ドル未満です。

ShopEntity _Db = new ShopEntity();
List<Product> products = _Db.Products.Where(p => p.Price < 2).ToList();

上記のコードは、次のSQLステートメントと同等です。

Select * From Products Where Price < 2

だから私はJavaでそのようなフレームワークがありますか?

quaere も見ました。ただし、コレクションを照会するだけです。データベースに対してクエリを実行します。 Javaと呼ばれる Hibernate と呼ばれる別のフレームワークがあります。これは、データベースのクエリに適切な機能を提供しません。

35

Javaの標準ORM APIは [〜#〜] jpa [〜#〜] と呼ばれ、Java = EE仕様。別の選択肢は、 Hibernate を使用することです。どちらも独自のクエリ言語を提供します( [〜#〜] jpql [〜#〜] および [ 〜#〜] hql [〜#〜] ))、ただしJavaの下にLINQがC#に対して行うように直接統合を提供するクエリフレームワークは存在しません。

30
Óscar López