「Javaの標準ORM」と「JPA」の違い

JPAはJavaの標準ORM仕様であり、JPAは仕様、標準ORMは概念として、JPAが標準ORMの実装基準となります。

Javaの標準ORM

Javaの標準ORMは、オブジェクト指向プログラミングとリレーショナルデータベースの違いを解消するための一般的な技術体系です。データベーステーブルをJavaオブジェクトにマッピングし、SQLを直接書かずにデータベース操作を実現します。

例:JavaのORMツールを使ってUserオブジェクトをデータベースに保存する処理を実装します。

JPA

JPAはJava Persistence APIの略で、Javaの標準ORM仕様として正式に定義されています。HibernateやEclipseLinkなどの実装フレームワークに従うべき規格であり、アノテーションやメソッドの使用方法が標準化されています。

例:JPAを使ってUserエンティティをPersistenceContextで管理し、永続化します。

両者の違い

Javaの標準ORMは広い概念で、複数の実装方法やツールを含みます。JPAはその標準化された仕様です。JPAを使えば、異なるORMプロバイダ間での乗り換えが容易です。一方、標準ORMは実装依存の機能も許容します。実務ではJPAを採用することで、標準ORMの利点を体系的に得られます。

どちらを使うべき?判断のポイント

新規プロジェクトではJPAを採用すべきです。標準仕様のため、チーム開発でも保守性が高く、フレームワーク間の移行も容易です。既存システムの拡張時も、可能ならJPA準拠に統一することを推奨します。

それぞれの語をさらに詳しく

語彙の星図で「Javaの標準ORM」と「JPA」のつながりを探索する →