JavaデベロッパーのためのAIRセミナー

10/19にJavaデベロッパーのためのAIRセミナーが開催されます。
https://g203.secure.ne.jp/~g203204/Adobe/Flex/20071019/
私も下記のような感じのセッションをやります。


Adobe AIR / Adobe Flex を使って、Java/データベースと連携するアプリケーションをいかにすばやく作るかについて、ALLライブデモでお見せします。
実は、私にとってAIR/Flexのデモは鬼門で、まだ一度も(完全に)成功したことはないんですが、今回は、強いマシンを調達したので、大丈夫だと思います。
去年のデブサミのリベンジがんばります。

Seasar2とS2Daoの統合

来週出す予定のSeasar2の次のバージョン(2.4.18)で、S2Daoが統合されます。
正確に言うとS2Daoの後継といわれていた(S2Dao2.0 or S2Persistence)がSeasar2に統合される形です。
今のS2Daoは、そのまま残るし、今後もバージョンアップされていくので、現状のS2Daoユーザは今後も今のS2Daoを安心してお使いください。
目玉は、ManyToOne、OneToMany、OneToOneの完全サポートでしょうか。マッピングの仕方は、JPAとまったく同じです。JPAアノテーションをそのまま使うということです。
関連のLoadingの仕方は、EagerでもLazyでもなく、Fetch Loadingです。JPAでいうfetch join。
Employeeの検索で、Department(departments)も同時に取得する場合は次のようになります。


List employees = jdbcManager.from(Employee.class).join("department").getResultList();
joinは無制限にネストできます。
ページングは、各DBMS固有のより効率的なSQLを使って実行されます。たとえば、PostgreSQLで次のように呼び出したとします。

jdbcManger.from(Employee.class).limit(10).offset(5).getResultList();
これはつぎのようなSQL文になります。

select ... from employee limit 10 offset 5
where句の組み立てもいろいろ面白いのですが、後はリリースを楽しみにしてください。
S2DaoのようにSQL文を明示的に指定することもできますが、自動生成で90%は対応できるんじゃないかなと思っています。