[Seasar-user:10312] Re: [DBFlute] 識別子が長すぎるを解決したい

kubo [E-MAIL ADDRESS DELETED]
2007年 9月 5日 (水) 01:18:23 JST


久保です。

> > > ...
> > > が,発行されているのですが,Bhvからエンティティは返ってきません.
> > > SQL plusでSQLをテストすると結果は正しくとれます.
> > 
> > 取り急ぎ確認させて下さい。
> > 「Bhvからエンティティは返ってきません」というのは、
> > 
> > ListResultBean<Administrator> list = administratorBhv.selectList(cb);
> > 
> > のlistが0件であるということでしょうか?
> > assertEquals(0, list.size())
> 
> はい.そうですね.list.size()が0ですね.

ありがとうございます。

整理すると、

ConditionBeanの検索にて
「dbfluteRelno4_n2.ACCOUNT_STATUS = 'A'」の条件を追加すると0件結果

単純に考えると「ACCOUNT_STATUS = 'A'」の条件に合致するデータが
存在しないのではと考えられるが、
しかし、SQLPlusにて、そのSQLを流すと1件取得できる。

というところですかね。

ログに出力されるSQLは、SeasarのS2JDBCが出力するもので、
その時点でもうDBFluteが介入できるタイミングがないため、
正直、ちょっと考えにくい状況ではあります。
(その後は単にSQLをJDBCで流してS2DaoがMappingするだけとなるため)


さらに確認させて下さい。

<A>
テーブル構造は

ADMINISTRATOR <--(FK) ADMINISTRATOR_CONFIG {1:1 }
ADMINISTRATOR (FK)--> USER_ACCOUNT {*:1}
USER_ACCOUNT  <--(FK) USER_ACCOUNT_CONFIG {1:1}

というような感じでよろしいですよね?

<B>
該当のSQLを、「外だしSQL」にして実行して結果が
取得できるかどうか確認して頂けますでしょうか?

<C>
cb.query().setAdministratorCode_Equal("ADMIN1");
cb.query().queryAdministratorConfigAsOne().setDisable_Equal_No();
cb.query().queryUserAccountByUserAccountId()
		.queryUserAccountConfigByUserAccountIdAsOne()
		.setAccountStatus_Equal_Active();

の「cb.toString()」を見せて頂けませんでしょうか?





Seasar-user メーリングリストの案内