0

私のエラー

 java.lang.NullPointerException.
 MyDAO$2.setValues
    org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:680)
    org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:454)
    org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:676)
    org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:738)

net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:694)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:639)

私のコードは

     this.jdbcTemplate.update(SOME_SQL_UPDATE, new PreparedStatementSetter() {
                    public void setValues(PreparedStatement ps) throws SQLException {
                        ps.setBoolean(1, myObj.isVal1());
                        ps.setString(2, myObj.getVal2().toString());
                    }
                });

public class myObj {
    private boolean val1;
    private Enum val2;
}

ブール値のdb列はnumber(1,0)で、設定された文字列列はvarcharです。

注:私はSpring 1.2を使用しており、現在Spring3にアップグレードしています。

何が間違っている可能性がありますか?

どうすればこれを修正できますか?

4

2 に答える 2

1

myObjnullではありませんか?そのステートメントでnullになる可能性がある唯一のオブジェクトである可能性があるようです。メソッド内のオブジェクトに対して簡単なnullチェックを実行して確認できますか?

于 2012-06-01T15:26:49.107 に答える
0

クラスmyObjでは、との値は初期化さval1val2ません。

于 2012-06-01T15:26:14.893 に答える