web-dev-qa-db-ja.com

J2EE、特にJPAの学習を開始する方法

JavaJ2EEの部分の学習を開始しようとしています。しかし、どこから始めればよいかわかりません。私はCore Javaに慣れており、主にJPAHibernateSpring Frameworkの基本を学びたいです。これの主な理由は、これらすべてのものを使用しているプロジェクトに取り組んでいることです。そして、ほとんどのコードは一部の上級者によって開発されており、それにいくつかの変更を加える必要があります。だから基本的に私は彼らのコードを理解する必要があります。

誰かが事前に知っておくべきことや、どのような順序で進むべきかなど、一種のロードマップを教えてもらえますか?リンクや本などの参考資料はありますか?

11
Bhushan

新しいフレームワーク/言語を学びたいときはいつも、それを使用する小さなプロジェクトを作り上げます。 Webフレームワークについては、それを使用して作成する一般的なWebアプリケーションがあります。シンプルであまり機能しませんが、フレームワークのより一般的な部分(データベース、バックグラウンドジョブ、mvcなど)を利用するのに十分な機能を備えています。実際、私は少し前に、Spring/MVC + Hibernateを学習する仕事を始めました。確かにすべてはわかりませんが、背景が十分にあるので、何かわからないことがあれば、どのような質問をするべきか、どのように質問すればより多くの情報を得ることができるのかを知っています。

Webフレームワークの場合、私は通常、ほとんどのフレームワークに提供されている単純な「hello world」の例から始めます。 「ゲストブック」の例(つまり、データベースの使用を示す)がある場合は、それをフォローアップします。そこから、学習アプリケーションに必要な機能を簡単なものから追加し始めます。簡単なことに対して正しい質問をする方法を理解できるという考えです。いくつか簡単なことを行った後、より複雑なことを見て、すでに学んだ情報を基に、適切な質問を作成してそれらを尋ねることができれば幸いです。

興味があれば、私は最近 sourceforgeでのそのような学習プロジェクトのコード を書き始めました。

編集:Donalのコメントにより、追加したいと思いました...私は、あなたが学ぶための例としてリンクを入れませんでした。むしろ、ちょうど私のコードをそこに配置する例として。本当に学びたいのなら、誰かのコードを読むだけでなく、自分でコードを書く必要があります(私の意見では、少なくとも)

7
RHSeeger

私は少し前に非常によく似た状況にありました。ここに大まかに振り返って、新しいテクノロジーの基本をすばやく学習するための最も有用なアプローチを見つけました。

一般的なアプローチ:

  1. それが解決する問題を見つけます。プロジェクトのホームページ、ウィキペディアの記事など、さまざまなリソースを読んでください。
  2. 上記の問題を含む小さなプロジェクトを見つけます。例えば。あなたの場合、DVDコレクションを管理する小さなWebアプリで、友達に貸すことができます。
  3. テクノロジーが提供するメカニズムexpectについて考え始める。例えば。 ORMソリューションの場合、関係が1:nn:nかを指定するメカニズム。
  4. テクノロジーでこれらのメカニズムを検索します:例: JPAで@OneToManyアノテーションを見つけます。多くの場合、これは、スタートガイドまたは上級開発者のコ​​ードを通じて自分で作業する場所です。
  5. これらのメカニズムを使用してミニプロジェクトを実装します。そうすることで、制限とおそらく他のいくつかの機能を発見するでしょう。例えば。 JPAでは、N + 1が問題またはテーブルを自動的にドロップ&(再)作成できる機能を選択しますJavaクラス。
  6. (時間に余裕がある場合):メカニズムを実装する方法を理解するようにしてください。そうすることで、特定の制限が存在する理由とそれらを回避する方法を理解するのに役立ちます。

入門ガイドに関する注意事項:ステップ4の前に読んでください。まだ読んでいる場合、これはになります豪華な機能をすべて備えた、Springのような非常に強力なフレームワークを学習している場合は、かみついてください。いつものように、ツールが強力であるほど、本当に理解していないと失敗しやすくなります。

2
blubb