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はとっても便利ですよ♪(メーリングリスト検索とか少ししづらいかな……?)