新人JavaプログラマはJavaサーバーサイドプログラミングパーフェクトマスターを読むべき。

<div class="amazlet-box" style="margin-bottom:0px;"><div class="amazlet-image" style="float:left;margin:0px 12px 1px 0px;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798045187/mmqiita-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/61GPAYSVOGL._SL160_.jpg" alt="Javaサーバーサイドプログラミングパーフェクトマスター (Perfect master) (Perfect Master 163)" style="border: none;" /></a></div><div class="amazlet-info" style="line-height:120%; margin-bottom: 10px"><div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798045187/mmqiita-22/ref=nosim/" name="amazletlink" target="_blank">Javaサーバーサイドプログラミングパーフェクトマスター (Perfect master) (Perfect Master 163)</a><div class="amazlet-powered-date" style="font-size:80%;margin-top:5px;line-height:120%">posted with <a href="http://www.amazlet.com/" title="amazlet" target="_blank">amazlet</a> at 16.03.25</div></div><div class="amazlet-detail">金城 俊哉 <br />秀和システム <br />売り上げランキング: 197,078<br /></div><div class="amazlet-sub-info" style="float: left;"><div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798045187/mmqiita-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jpで詳細を見る</a></div></div></div><div class="amazlet-footer" style="clear: left"></div></div>

***

対話形式でJavaEE7を使った開発を、非常にわかりやすく解説している、現時点で最良のJavaEE解説書。
この1冊を読みながらコードを入力していけばJavaEE7を使ったWebアプリ開発は問題なく行えるようになるでしょう。
StrutsやJavaEE5で止まっているJava技術者も、この本を読めば現代的なJavaEE開発をキャッチアップできるでしょう。

簡単なJSFのアプリを作り、そこにEJBを組み入れ、JPAで永続化できるようにするとう流れを順番に追っていくので、初心者にもわかりやすい。
Javaで間違いやすい・わかりにくい文法の使い分けの説明がコラムで行われているのも良い。

新人研修・JavaEE7への乗り換えに最良の1冊でしょう。
各章が完全に独立し対話形式なので読みやすく、JavaEE7の仕様そのものがシンプルでわかりやすいものになっていることもあり、700ページという分厚さも気にならず読み進められます。

目次などはこちらから→[書籍サポートページ](http://www.shuwasystem.co.jp/products/7980html/4518.html)

これを読んだ後は、[Azure で WebSocket を体験しよう！](https://docs.com/terada-yoshio/1687/java-ee-7-websocket-chat-on-microsoft-azure)などでWebSocketや仮想環境を勉強したり、<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4873114675/mmqiita-22/ref=nosim/" name="amazletlink" target="_blank">JavaによるRESTfulシステム構築</a>でWEB APIの作り方を学び、同時にJavaScriptを<a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798043885/mmqiita-22/ref=nosim/" name="amazletlink" target="_blank">JavaScript Web開発パーフェクトマスター (Perfect Master)</a>
で勉強し、knockout.js([Knockout
日本語ドキュメント](http://kojs.sukobuto.com/))を使えるようになったら、[Oracle JET](http://www.oracle.com/webfolder/technetwork/jet/index.html)を勉強しましょう。


###JPAのサンプルでエラーが出る場合。
NetBeans8.1でサンプルを実行すると、RELEASE_6より新しいsource1.8が出てるよ。という意味の警告が出ることがある。
```java:glassfish-server-output
警告: 注釈プロセッサ'org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor'から-source '1.8'より小さいソース・バージョン'RELEASE_6'がサポートされています
注意:Creating static metadata factory ...
注意:Optional file was not found: META-INF/orm.xml continuing with generation.
注意:Optional file was not found: META-INF/eclipselink-orm.xml continuing with generation.
注意:Optional file was not found: META-INF/orm.xml continuing with generation.
注意:Optional file was not found: META-INF/eclipselink-orm.xml continuing with generation.
C:\Users\m.matsuoka\Documents\chap10\sec01\MultiTable\src\java\beans\UserWorker02.java:19: 警告: [unchecked] 無検査変換
        return em.createQuery("SELECT r FROM UserEntity02 r").getResultList();
  期待値: List<UserEntity02>
  検出値:    List
警告2個
```

その時は最新のEclipseLinkのzipを[ここからダウンロード](http://www.eclipse.org/eclipselink/#download)。
ダウンロードしたzipを解凍した中にあるjarを、プロジェクトを右クリック→プロパティ→ライブラリから追加すれば解決する。
![Clipboard01.png](https://qiita-image-store.s3.amazonaws.com/0/19862/680a2a7f-ca9f-d60e-63f6-1fd73b59cbf5.png)


参考：http://stackoverflow.com/questions/23044511/supported-source-version-release-6-from-annotation-processor-org-eclipse-persist