
<< | 2004/07 | >> | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
hsqldbのバージョンを1.7.2RC6cにしたら、
DEBUG 2004-07-02 11:33:48,985 [main] トランザクションを開始しました
DEBUG 2004-07-02 11:33:51,378 [main] 物理的なコネクションを取得しました
で止まっちゃってる。。。
なんでだ!?
調べるの大変かな~?
Daoのインターフェースのメソッド
Kissable getKissable(String name);
SQL文
SELECT * FROM kissable WHERE name = /*name*/'oreju'
実行結果(抜粋)
引数(name)が見つかりません
DEBUG 2004-07-02 16:53:27,340 [main] SELECT * FROM kissable WHERE name = null
引数が渡らないので、nullが返ってくる。。。
たすけて~(;_;)
#引数ありのselect文もサンプルでやっとくんだった・・・
追記:コメント通りの落ちがつきました。
落ちがついて、Kissableは、インターフェースだから、インスタンス作れねーとエラーが出たので、とりあえず、BEANの定義をBoyにした。
(diconファイルには、Boyを定義してますけど。Kissableを実装してるは、それだけ。)
そしたら、今まで、動いていた、インサートが動かなくなった・・・
いじめだよ。。。(;_;)
org.seasar.framework.exception.OgnlRuntimeException: [ESSR0073]OGNLで例外が発生しました。理由はognl.OgnlException: source is null for getProperty(null, "name")
at org.seasar.framework.util.OgnlUtil.getValue(OgnlUtil.java:23)
at org.seasar.dao.node.BindVariableNode.accept(BindVariableNode.java:28)
at org.seasar.dao.node.ContainerNode.accept(ContainerNode.java:19)
at org.seasar.dao.command.AbstractCommand.apply(AbstractCommand.java:41)
at org.seasar.dao.command.UpdateCommand.execute(UpdateCommand.java:18)
at org.seasar.dao.interceptors.S2DaoInterceptor.invoke(S2DaoInterceptor.java:37)
at org.seasar.framework.aop.impl.MethodInvocationImpl.proceed(MethodInvocationImpl.java:60)
at org.seasar.framework.aop.proxy.AopProxy.intercept(AopProxy.java:123)
分からん罠と言われたので、追記:
public static final Class BEAN = Kissable.class;
を
public static final Class BEAN = Boy.class;
に変更しただけで、動かなくなったのです。。。
これが動いていたコード
Kissable kissable = new Boy();
kissable.setName("かきくけこ");
dao.insertKissable(kissable);
public interface Kissable {
public static final String TABLE = "Kissable";
String kissedBy(Kisser kisser);
void setName(String name);
String getName();
}
public class Boy implements Kissable, Serializable {
で、SQL文は、
INSERT INTO kissable (name) VALUES(/*kissable.name*/'oreju')
です。
|