SeasarのS2Daoでしたいこんなこと
巡回されておられるようなので、ちょっと書いてみます。
まずentityですが、
interface IUser { .... } // entity class User implements IUser { .... }
があります。
もちろんUserDaoなるものがあります。
で、これは例えばUserSessionというentityとN:1の関係にあり、
// entity class UserSession { private IUser user; // 実体はUser 取得するときはUserのテーブルを見にいってほしい!! }
みたいな感じで他のエンティティのメンバにインターフェースを指定して、
N:1の関係を実現したい、ということです。
これを普通に書くと、もちろんIUser指定ではUserのアノテーションを見にいってくれないので、
IUserのテーブルがないよ、といって実行できません。
なんでこんなことをしたいかといえば、
interface UserSessionDao { UserSession selectByUser( IUser user ); }
みたいにDaoにエンティティのインターフェースで渡したいから、
とか他のentityではインターフェースで持っていてほしくて実体を渡されるタイミングが微妙(な既存ソースだから)、
というのがあったりします。
別にインターフェースで渡したり扱ったりする必要がなければ問題はないのですが、
既存ソースがそんな感じなのでリライトなしでSeasar記述で対応できればなーと思った次第でした。
Seasarが不便ということは全くなくて、いわゆる特殊ケースなのであがいているということです。
Seasarはとっても便利ですよ♪(メーリングリスト検索とか少ししづらいかな……?)