サンプルお試し。

仕事(たぶんSwing+JDBC予定)で使えるかもと思って、遊びと調査を兼ねてhttp://journal.mycom.co.jp/special/2006/jpa/menu.htmlで紹介されている特集記事を読んで、実際にサンプルを作ってみた。
↑の記事ではデータベースにD2を使っているが、こちらの環境ではJavaDB(JDK6についてるやつ)を使ってやってみた。最後のSwingを使ったサンプルをやってみたが、記事のサンプルそのままのJavaソースだと、TopLink起動途中でValidationExceptionがでてしまった。原因はどうもDepartmentエンティティクラスのプロパティでCollection型のものをつかっているのがだめらしい。(OneToManyのアノテーションつき。)そこで、Collectionというようにジェネリックスを使って特定のエンティティクラスに対応付けるように修正したところ、うまく動いた。(記事のサンプルではそうなっていないが。)理由はよくわからないが、テーブルのリレーションをエンティティで表現するのに、ジェネリックスを使わないとTopLinkが認識してくれないのかもしれない。