S2Hibernate-JPAでエンティティの自動登録 その2
目標としていた次の機能をつくりました。
- 指定したエンティティをS2コンテナ経由でHibernateに登録
- 指定したマッピングファイルをS2コンテナ経由でHibernateに登録
- 指定したパッケージ以下のエンティティをS2コンテナ経由でHibernateに自動登録
3番目の機能はComponentAutoRegisterを参考に(半分コピペ...)してAnnotatedClassDetectorなるものを作りました。AnnotatedClassDetectorは指定したアノテーション(たとえばEntity.classとかEmbeddable.classとか)をもつクラスのみを返します。
s2hibernate-jpaに入れましたが、hibernateにもJPAにも依存しているわけではないのでs2-tiger本体にあった方がいいのかもしれません。ただパッケージ名に迷います...、org.seasar.framework.detectorかなぁ。
実は今気づいてしまったんですが、前回のエントリのid:koichikさんのコメント見たら「マッピングファイルも自動登録してもらえると嬉しいなぁ」とありますね。完全に「自動」の文字を見落としてました...すみません、現状では一個一個指定しないと登録されませんです。