IDEA6でEJB3(EntityBeans)を試す

うーん,「IDEA6のEJB3サポートはまだまだだの」ってのが結論.NetBeansスゲっと言っとこう.
全体の手順はおいおいまとめるとして,とりあえず覚え書きを残す.


glassfish付属のderbyを起動するには,こんなコマンドを実行する(asadminはglassfishのbinディレクトリにある).glassfishのWebコンソールで出来てもよさそうなんだけどね.

> asadmin start-database   ... 起動
> asadmin stop-database    ... 停止

ちなみにNetBeansだと,glassfighと一緒に起動するし,derby単体でもToolsの「Derby Database」から起動・停止できるのよん.


derbyの接続情報.とりあえず,glassfishの「jdbc/__default」は,こうだ.

Driver Jar derbyclient.jar
Driver Class org.apache.derby.jdbc.ClientDriver
DB URL jdbc:derby://localhost:1527/sun-appserv-samples
User/Pass sa/sa または app/app

これ知ってると,IDEA6でスキーマからEntityBeansを作ったり,DB系プラグイン使うのに重宝する.
ちなみに,IDEAのDB系プラグインでオススメはDBHelperSQL Query Plugin


IDEA6のアレな点.

  • Persistence Unit(persistence.xml)の作成支援がおざなり(何もしてくんないと言って良い).
  • 6.0.2で"Automatic generation of JSF data access pages."なる機能が追加されたんだけど,ちょっとイマイチ.
  • persistence annotationのコード補完が役立たず(@PersistenceContextのunitNameとか補完して欲しいな).

IDEA6.5とかで克服されるといいな.そう思うと,NetBeansは良くできていると言える.


ps.
NetBeansのEnterpriseApplicationプロジェクトとの共存なのだが,Persistence Unitが邪魔するんでひと手間要る.
NetBeansのPersistence Unitは"src/conf/persistence.xml"に格納されるんだけど,IDEAは"META-INF/persistence.xml"じゃないとダメ.とにかくIDEAは,プロジェクト直下かソースパス直下の"META-INF"に置かないと,Persistence Unitを認識してくれなかった.


まあ,そう頻繁にメンテするようなファイルじゃないと思うので,これくらいは目をつむるか.:-(