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系プラグインでオススメはDBHelperかSQL 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を認識してくれなかった.
まあ,そう頻繁にメンテするようなファイルじゃないと思うので,これくらいは目をつむるか.:-(