S2EJB3UnitとS2JUnit4のドキュメント

svnに入れました。(まだ足りないところはあるのですが、徐々に充実させたいです。)

ところでS2EJB3Unitですが、こんな感じに方向を修正していきたいなぁなんて思っています。

  • JUnit3ベースではなくJUnit4ベースで動くようにする(S2JUnit4に機能を吸収しちゃう)
  • リフレクションを使ってEntityをDataSetに詰めているところを永続プロバイダのAPIを使ってDataSetに詰めるようにする(Hibernateの場合、EntityPersisterからエンティティのデータをDataSetに変換できそう。たぶん)

前者については、EJB3tigerな環境でないと動かないので、同じくtigerな環境でしか動かないJUnit4でテストできればそれでいいんじゃないかと思うからです。Eclipse3.1だとJUnit4がつかいづらいなぁと思っていたのですが、Eclipse3.2はもうそろそろfinal?(今はM7)。Eclipse3.2finalが出たらS2JUnit4ベースのほうが楽そうです(トランザクションの自動開始と自動ロールバックがデフォルトなどの便利機能があるので)。
後者については、永続プロバイダの独自の仕様の存在を考えるとJPAの仕様の範囲内しかカバーできないリフレクションよりも永続プロバイダごとのメタデータを使ったほうが確実だからです(Hibernateのドキュメントを見る限りマッピングに関するところでJPA仕様を拡張したところが結構ありました。)。あとリフレクションだとxmlファイルで指定されたメタデータを関知できないのですこれも問題だなぁと思っていました。永続プロバイダごとのAPIを使えばこれも解決できると思います。