- - PR -
O/Rマッピングツールcayenneについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-09-28 13:06
はじめまして
cayenneに対して外部からSQLを指定したアクセスを試みています。 以下実行しているメソッドの抜粋 public List query(Class table,String ql) { GenericSelectQuery query1 = new SQLTemplate(table,ql,true); query1.setLoggingLevel(org.apache.log4j.Level.WARN); List list = ctx.performQuery(query1); return list; } String ql に "SELECT STS1 FROM BATCH_PROCESS where publish_month='2004/01' " 以上のSQLを設定してcayenneに対して実行依頼すると結果は正常ですが getメソッドを発行して中身を確認してもnullしか入っていません。 以下発行したSQLのログ内容です。 WARN QueryLogger: --- will run 1 query. WARN QueryLogger: SELECT STS1 FROM BATCH_PROCESS where publish_month='2004/01' WARN QueryLogger: === returned 1 row. - took 180 ms. 上記のメソッド発行側のロジックは以下のとおりです。 list = tt.query(table,"SELECT STS1 FROM BATCH_PROCESS where publish_month='2004/01' "); i = list.iterator(); System.out.println("koko45"); while(i.hasNext()) { emp = (BatchProcess)i.next(); System.out.println("koko47"); System.out.println(emp.getSts1()); // BatchProcess列のデータを表示 } 以上何かレクチャー等いただければ幸いです。 | ||||
|
投稿日時: 2004-09-28 20:36
cayenneを使った事はないですが、普通のつっこみを。
何のDBMSを利用しているのか、STS1とかpublish_monthの型とかさっぱり分かりませんが、 Javaからでなく普通にDBMSに付属のツールとかで
を実行すれば何が帰ってくるのでしょうか? nullが本当に1件だけ返ってきているとか、実は30件ぐらいありますだとか。 あと本当に1件だとして、しかもそれにはnull以外の値がきちんと入っているというのであれば、テーブルのSTS1の型とjavaでの型を確認してみる事をお奨めします。 |
1