2016-05-06 2 views
0

私はORMとJPAを理解しようとしていますが、これらの2つの用語にいくらかの混乱があります。ORM - JPA仕様の本質的部分です

私は最初にHibernateで始まり、HibernateがORM toolであり、それがimplements JPA as wellであることを知りました。

ここで私の疑惑が始まります。

ORMは、Object RelationマッピングとJPA for Java Persistence APIの略です。

1)ORMはJPA内のサブ仕様ですか?つまり、JPAにはJavaオブジェクトとDB行のマッピング方法に関する仕様がありますか?

2)#1は正確にORMとJPAは、個々のエンティティ>

3)私は、HibernateはORMツールとJPAの実装で読ん多くの場所としているものを、その後正しくない場合。彼らは本当に違いますか?私はこれらの2つを混乱させています。

+1

を読んだ後、それを理解したいですか? JPAはRDBMSを中心に設計されているため、*は* ORMです。他のタイプのデータストア用に設計されたものではありません。 –

+0

@NeilStockton:JPA仕様をまだ読んでいないことを認めなければなりません。しかし、JPAの仕様は、オブジェクトとDBのマッピング方法を教えていますか?もしそうなら、なぜHibernateがORMツールであり、JPAを実装しているのか(JPAがORM機能を暗示的に暗示している場合) – CuriousMind

答えて

1
  1. 間違っ

  2. コード内であなただけのエンティティに対して動作するようにORMは、単にあなたがオブジェクト(またはその逆)へのリレーショナルDBMSレコードをマッピングすることができますフレームワーク/ツールの総称であり、オブジェクト、およびそれらに対して実行したアクションは、RDBMSの変更に変換されます。このような作業を行うツールは数多くあり、Hibernateはその中で最もよく知られているツールの1つです。後にJavaは、この種のORMツールのための「標準」を作るために、JPAと呼ばれる標準を起草しました。したがって、JPAは、(ある種の)ORMフレームワークの仕様です。JMSはメッセージングシステムの仕様と同じです。

  3. は、私はあなたがJPAの仕様を読んで考えられてポイント2

+0

あなたの返事をありがとう、それは多くのものをクリアしました。つまり、簡単な言葉で、JPAはORMのJavaコミュニティ標準仕様であり、実装者はこれを遵守します。 – CuriousMind

+1

そして、MybatisのようなJPAも実装していないORMフレームワークがあります(私はそれをORMと呼ぶのに少し懐疑的ですが:P) –

関連する問題