S2Dao + Derbyで、IDアノテーションを使ってinsertした後に、
insertしたオブジェクトに自動生成された主キーの値が設定されるはずなんだけど
なぜかnullが設定されてしまう。
どうもinsertした後にS2Daoが「values IDENTITY_VAL_LOCAL()」した時に
(本来、主キーの値が返るべきなのに)nullが返ってきているみたい。
おかしいな、ちょっと前までは、出来てたはずなんだけど。
JARも差し替えてないから、環境が変わったとは思えないし、
どっかにコーディングミスがあると思うんだけど。
詳細は今から調べて後で書く。
(追記1)
ij.batを叩いて、コンソールからinsert → values IDENTITY_VAL_LOCAL() で
正しく主キーの値を取得できることを確認。
あ、もしかして、S2Daoに入る前(サービス層)で、
beginTransしてないのかな???
(追記2)
ビンゴ。
RequiredTx掛けてるつもりなのに、
RequiredInterceptorが呼ばれてないや。
(追記3)
Serviceインターフェースをなくしたから、
pointcutを指定しなきゃいけないのに、指定してなかったよ。
だからTransactionがbeginされず、
insert後にvalues IDENTITY_VAL_LOCAL()しても取得できなかったと。
解決、解決。