• Type: Bug
    • Resolution: Fixed
    • Priority: Minor
    • 1.0.38
    • Affects Version/s: None
    • Component/s: s2dao
    • None

      そんな使い方する方が悪いのかもしれませんが。

      以下、スタックトレースです。

      org.seasar.framework.exception.SQLRuntimeException: [ESSR0071]SQLで例外(ErrorCode=-28, SQLState=S0022)が発生しました。理由はorg.seasar.framework.exception.SSQLException: [ESSR0072]SQLで例外(SQL=[UPDATE EMP SET ,deptno = ? WHERE empno = ?], ErrorCode=

      {1}, SQLState={2})が発生しました
      at org.seasar.extension.jdbc.util.ConnectionUtil.prepareStatement(ConnectionUtil.java:52)
      at org.seasar.extension.jdbc.impl.BasicStatementFactory.createPreparedStatement(BasicStatementFactory.java:34)
      at org.seasar.extension.jdbc.impl.BasicHandler.prepareStatement(BasicHandler.java:95)
      at org.seasar.extension.jdbc.impl.BasicUpdateHandler.execute(BasicUpdateHandler.java:73)
      at org.seasar.extension.jdbc.impl.BasicUpdateHandler.execute(BasicUpdateHandler.java:66)
      at org.seasar.dao.impl.UpdateDynamicCommand.execute(UpdateDynamicCommand.java:40)
      at org.seasar.dao.impl.UpdateAutoDynamicCommandTest.testExecute2Tx(UpdateAutoDynamicCommandTest.java:68)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at junit.framework.TestCase.runTest(TestCase.java:154)
      at org.seasar.framework.unit.S2FrameworkTestCase.doRunTest(S2FrameworkTestCase.java:233)
      at org.seasar.extension.unit.S2TestCase.doRunTest(S2TestCase.java:89)
      at org.seasar.framework.unit.S2FrameworkTestCase.runBare(S2FrameworkTestCase.java:150)
      at junit.framework.TestResult$1.protect(TestResult.java:106)
      at junit.framework.TestResult.runProtected(TestResult.java:124)
      at junit.framework.TestResult.run(TestResult.java:109)
      at junit.framework.TestCase.run(TestCase.java:118)
      at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
      at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
      Caused by: org.seasar.framework.exception.SSQLException: [ESSR0072]SQLで例外(SQL=[UPDATE EMP SET ,deptno = ? WHERE empno = ?], ErrorCode={1}

      , SQLState=

      {2}

      )が発生しました
      at org.seasar.extension.dbcp.impl.ConnectionWrapperImpl.wrapException(ConnectionWrapperImpl.java:524)
      at org.seasar.extension.dbcp.impl.ConnectionWrapperImpl.prepareStatement(ConnectionWrapperImpl.java:144)
      at org.seasar.extension.jdbc.util.ConnectionUtil.prepareStatement(ConnectionUtil.java:50)
      ... 24 more
      Caused by: java.sql.SQLException: Column not found: , in statement [UPDATE EMP SET ,deptno = ? WHERE empno = ?]
      at org.hsqldb.jdbc.jdbcUtil.throwError(Unknown Source)
      at org.hsqldb.jdbc.jdbcPreparedStatement.<init>(Unknown Source)
      at org.hsqldb.jdbc.jdbcConnection.prepareStatement(Unknown Source)
      at org.seasar.extension.dbcp.impl.ConnectionWrapperImpl.prepareStatement(ConnectionWrapperImpl.java:141)
      ... 25 more

          [DAO-39] UnlessNullで更新したときにPK以外が全てnullだとSQLRuntimeExceptionが発生する。

          taichi added a comment -

          修正をコミットしました。

          taichi added a comment - 修正をコミットしました。

          azusa added a comment -

          deptNoをIntegerにしてやってみました。
          org.seasar.framework.exception.SQLRuntimeException: [ESSR0071]SQLで例外(ErrorCode=-28, SQLState=S0022)が発生しました。理由はorg.seasar.framework.exception.SSQLException: [ESSR0072]SQLで例外(SQL=[UPDATE EMP SET WHERE empno = ?], ErrorCode=

          {1}, SQLState={2})が発生しました
          at org.seasar.extension.jdbc.util.ConnectionUtil.prepareStatement(ConnectionUtil.java:52)
          at org.seasar.extension.jdbc.impl.BasicStatementFactory.createPreparedStatement(BasicStatementFactory.java:34)
          at org.seasar.extension.jdbc.impl.BasicHandler.prepareStatement(BasicHandler.java:95)
          at org.seasar.extension.jdbc.impl.BasicUpdateHandler.execute(BasicUpdateHandler.java:73)
          at org.seasar.extension.jdbc.impl.BasicUpdateHandler.execute(BasicUpdateHandler.java:66)
          at org.seasar.dao.impl.UpdateDynamicCommand.execute(UpdateDynamicCommand.java:40)
          at org.seasar.dao.impl.UpdateAutoDynamicCommandTest.testExecute2Tx(UpdateAutoDynamicCommandTest.java:68)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:324)
          at junit.framework.TestCase.runTest(TestCase.java:154)
          at org.seasar.framework.unit.S2FrameworkTestCase.doRunTest(S2FrameworkTestCase.java:233)
          at org.seasar.extension.unit.S2TestCase.doRunTest(S2TestCase.java:89)
          at org.seasar.framework.unit.S2FrameworkTestCase.runBare(S2FrameworkTestCase.java:150)
          at junit.framework.TestResult$1.protect(TestResult.java:106)
          at junit.framework.TestResult.runProtected(TestResult.java:124)
          at junit.framework.TestResult.run(TestResult.java:109)
          at junit.framework.TestCase.run(TestCase.java:118)
          at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
          at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
          Caused by: org.seasar.framework.exception.SSQLException: [ESSR0072]SQLで例外(SQL=[UPDATE EMP SET WHERE empno = ?], ErrorCode={1}

          , SQLState=

          {2}

          )が発生しました
          at org.seasar.extension.dbcp.impl.ConnectionWrapperImpl.wrapException(ConnectionWrapperImpl.java:524)
          at org.seasar.extension.dbcp.impl.ConnectionWrapperImpl.prepareStatement(ConnectionWrapperImpl.java:144)
          at org.seasar.extension.jdbc.util.ConnectionUtil.prepareStatement(ConnectionUtil.java:50)
          ... 24 more
          Caused by: java.sql.SQLException: Column not found: WHERE in statement [UPDATE EMP SET WHERE empno = ?]
          at org.hsqldb.jdbc.jdbcUtil.throwError(Unknown Source)
          at org.hsqldb.jdbc.jdbcPreparedStatement.<init>(Unknown Source)
          at org.hsqldb.jdbc.jdbcConnection.prepareStatement(Unknown Source)
          at org.seasar.extension.dbcp.impl.ConnectionWrapperImpl.prepareStatement(ConnectionWrapperImpl.java:141)
          ... 25 more

          azusa added a comment - deptNoをIntegerにしてやってみました。 org.seasar.framework.exception.SQLRuntimeException: [ESSR0071] SQLで例外(ErrorCode=-28, SQLState=S0022)が発生しました。理由はorg.seasar.framework.exception.SSQLException: [ESSR0072] SQLで例外(SQL= [UPDATE EMP SET WHERE empno = ?] , ErrorCode= {1}, SQLState={2})が発生しました at org.seasar.extension.jdbc.util.ConnectionUtil.prepareStatement(ConnectionUtil.java:52) at org.seasar.extension.jdbc.impl.BasicStatementFactory.createPreparedStatement(BasicStatementFactory.java:34) at org.seasar.extension.jdbc.impl.BasicHandler.prepareStatement(BasicHandler.java:95) at org.seasar.extension.jdbc.impl.BasicUpdateHandler.execute(BasicUpdateHandler.java:73) at org.seasar.extension.jdbc.impl.BasicUpdateHandler.execute(BasicUpdateHandler.java:66) at org.seasar.dao.impl.UpdateDynamicCommand.execute(UpdateDynamicCommand.java:40) at org.seasar.dao.impl.UpdateAutoDynamicCommandTest.testExecute2Tx(UpdateAutoDynamicCommandTest.java:68) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at junit.framework.TestCase.runTest(TestCase.java:154) at org.seasar.framework.unit.S2FrameworkTestCase.doRunTest(S2FrameworkTestCase.java:233) at org.seasar.extension.unit.S2TestCase.doRunTest(S2TestCase.java:89) at org.seasar.framework.unit.S2FrameworkTestCase.runBare(S2FrameworkTestCase.java:150) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196) Caused by: org.seasar.framework.exception.SSQLException: [ESSR0072] SQLで例外(SQL= [UPDATE EMP SET WHERE empno = ?] , ErrorCode={1} , SQLState= {2} )が発生しました at org.seasar.extension.dbcp.impl.ConnectionWrapperImpl.wrapException(ConnectionWrapperImpl.java:524) at org.seasar.extension.dbcp.impl.ConnectionWrapperImpl.prepareStatement(ConnectionWrapperImpl.java:144) at org.seasar.extension.jdbc.util.ConnectionUtil.prepareStatement(ConnectionUtil.java:50) ... 24 more Caused by: java.sql.SQLException: Column not found: WHERE in statement [UPDATE EMP SET WHERE empno = ?] at org.hsqldb.jdbc.jdbcUtil.throwError(Unknown Source) at org.hsqldb.jdbc.jdbcPreparedStatement.<init>(Unknown Source) at org.hsqldb.jdbc.jdbcConnection.prepareStatement(Unknown Source) at org.seasar.extension.dbcp.impl.ConnectionWrapperImpl.prepareStatement(ConnectionWrapperImpl.java:141) ... 25 more

          taichi added a comment -

          このテストケースだと、deptnoがintである為、実際には全てnullになっていません。実質的にバグってますので、修正します。

          taichi added a comment - このテストケースだと、deptnoがintである為、実際には全てnullになっていません。実質的にバグってますので、修正します。

          azusa added a comment -

          再現テストケースです。(1.0.xのbranchで作成してます)

          Index: C:/Tomcat/webapps/s2dao-1.0.x/s2-dao/src/test/java/org/seasar/dao/impl/UpdateAutoDynamicCommandTest.java
          ===================================================================
          — C:/Tomcat/webapps/s2dao-1.0.x/s2-dao/src/test/java/org/seasar/dao/impl/UpdateAutoDynamicCommandTest.java (revision 596)
          +++ C:/Tomcat/webapps/s2dao-1.0.x/s2-dao/src/test/java/org/seasar/dao/impl/UpdateAutoDynamicCommandTest.java (working copy)
          @@ -57,4 +57,19 @@
          assertEquals(before.getMgr(), after.getMgr());
          }

          + public void testExecute2Tx() throws Exception {
          + DaoMetaData dmd = createDaoMetaData(EmployeeAutoDao2.class);
          + SqlCommand select = dmd.getSqlCommand("getEmployee2");
          +
          + Employee11 e = new Employee11();
          + e.setEmpno(7369);
          + SqlCommand unlessNull = dmd.getSqlCommand("update2UnlessNull");
          + assertTrue(unlessNull instanceof UpdateAutoDynamicCommand);
          + unlessNull.execute(new Object[]

          { e }

          );
          +
          + Employee11 after = (Employee11) select.execute(new Object[]

          { new Integer( + 7369) }

          );
          + assertNotNull(after);
          + }
          +
          }
          Index: C:/Tomcat/webapps/s2dao-1.0.x/s2-dao/src/test/java/org/seasar/dao/impl/Employee11.java
          ===================================================================
          — C:/Tomcat/webapps/s2dao-1.0.x/s2-dao/src/test/java/org/seasar/dao/impl/Employee11.java (revision 0)
          +++ C:/Tomcat/webapps/s2dao-1.0.x/s2-dao/src/test/java/org/seasar/dao/impl/Employee11.java (revision 0)
          @@ -0,0 +1,147 @@
          +/*
          + * Copyright 2004-2006 the Seasar Foundation and the Others.
          + *
          + * Licensed under the Apache License, Version 2.0 (the "License");
          + * you may not use this file except in compliance with the License.
          + * You may obtain a copy of the License at
          + *
          + * http://www.apache.org/licenses/LICENSE-2.0
          + *
          + * Unless required by applicable law or agreed to in writing, software
          + * distributed under the License is distributed on an "AS IS" BASIS,
          + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
          + * either express or implied. See the License for the specific language
          + * governing permissions and limitations under the License.
          + */
          +package org.seasar.dao.impl;
          +
          +import java.io.Serializable;
          +import java.sql.Timestamp;
          +
          +public class Employee11 implements Serializable {
          +
          + public static final String TABLE = "EMP";
          +
          + public static final String timestamp_COLUMN = "tstamp";
          +
          + private long empno;
          +
          + private String ename;
          +
          + private String job;
          +
          + private Short mgr;
          +
          + private java.util.Date hiredate;
          +
          + private Float sal;
          +
          + private Float comm;
          +
          + private int deptno;
          +
          + private String dummy;
          +
          + public Employee11()

          { + }

          +
          + public Employee11(long empno)

          { + this.empno = empno; + }
          +
          + public long getEmpno() { + return this.empno; + }
          +
          + public void setEmpno(long empno) {+ this.empno = empno;+ }

          +
          + public java.lang.String getEname()

          { + return this.ename; + }

          +
          + public void setEname(java.lang.String ename)

          { + this.ename = ename; + }

          +
          + public java.lang.String getJob()

          { + return this.job; + }

          +
          + public void setJob(java.lang.String job)

          { + this.job = job; + }

          +
          + public Short getMgr()

          { + return this.mgr; + }

          +
          + public void setMgr(Short mgr)

          { + this.mgr = mgr; + }

          +
          + public java.util.Date getHiredate()

          { + return this.hiredate; + }

          +
          + public void setHiredate(java.util.Date hiredate)

          { + this.hiredate = hiredate; + }

          +
          + public Float getSal()

          { + return this.sal; + }

          +
          + public void setSal(Float sal)

          { + this.sal = sal; + }

          +
          + public Float getComm()

          { + return this.comm; + }

          +
          + public void setComm(Float comm)

          { + this.comm = comm; + }

          +
          + public int getDeptno()

          { + return this.deptno; + }

          +
          + public void setDeptno(int deptno)

          { + this.deptno = deptno; + }

          +
          + public String getDummy()

          { + return this.dummy; + }

          +
          + public void setDummy(String dummy)

          { + this.dummy = dummy; + }

          +
          + public boolean equals(Object other)

          { + if (!(other instanceof Employee11)) + return false; + Employee11 castOther = (Employee11) other; + return this.getEmpno() == castOther.getEmpno(); + }

          +
          + public int hashCode()

          { + return (int) this.getEmpno(); + }

          +
          + public String toString()

          { + StringBuffer buf = new StringBuffer(); + buf.append(empno).append(", "); + buf.append(ename).append(", "); + buf.append(job).append(", "); + buf.append(mgr).append(", "); + buf.append(hiredate).append(", "); + buf.append(sal).append(", "); + buf.append(comm).append(", "); + buf.append(deptno).append(", "); + return buf.toString(); + }

          +}
          Index: C:/Tomcat/webapps/s2dao-1.0.x/s2-dao/src/test/java/org/seasar/dao/impl/EmployeeAutoDao2.java
          ===================================================================
          — C:/Tomcat/webapps/s2dao-1.0.x/s2-dao/src/test/java/org/seasar/dao/impl/EmployeeAutoDao2.java (revision 0)
          +++ C:/Tomcat/webapps/s2dao-1.0.x/s2-dao/src/test/java/org/seasar/dao/impl/EmployeeAutoDao2.java (revision 0)
          @@ -0,0 +1,30 @@
          +/*
          + * Copyright 2004-2006 the Seasar Foundation and the Others.
          + *
          + * Licensed under the Apache License, Version 2.0 (the "License");
          + * you may not use this file except in compliance with the License.
          + * You may obtain a copy of the License at
          + *
          + * http://www.apache.org/licenses/LICENSE-2.0
          + *
          + * Unless required by applicable law or agreed to in writing, software
          + * distributed under the License is distributed on an "AS IS" BASIS,
          + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
          + * either express or implied. See the License for the specific language
          + * governing permissions and limitations under the License.
          + */
          +package org.seasar.dao.impl;
          +
          +import java.util.List;
          +
          +public interface EmployeeAutoDao2

          { + + public Class BEAN = Employee11.class; + + public String getEmployee2_ARGS = "empno"; + + public Employee11 getEmployee2(int empno); + + public void update2UnlessNull(Employee11 employee); + +}

          azusa added a comment - 再現テストケースです。(1.0.xのbranchで作成してます) Index: C:/Tomcat/webapps/s2dao-1.0.x/s2-dao/src/test/java/org/seasar/dao/impl/UpdateAutoDynamicCommandTest.java =================================================================== — C:/Tomcat/webapps/s2dao-1.0.x/s2-dao/src/test/java/org/seasar/dao/impl/UpdateAutoDynamicCommandTest.java (revision 596) +++ C:/Tomcat/webapps/s2dao-1.0.x/s2-dao/src/test/java/org/seasar/dao/impl/UpdateAutoDynamicCommandTest.java (working copy) @@ -57,4 +57,19 @@ assertEquals(before.getMgr(), after.getMgr()); } + public void testExecute2Tx() throws Exception { + DaoMetaData dmd = createDaoMetaData(EmployeeAutoDao2.class); + SqlCommand select = dmd.getSqlCommand("getEmployee2"); + + Employee11 e = new Employee11(); + e.setEmpno(7369); + SqlCommand unlessNull = dmd.getSqlCommand("update2UnlessNull"); + assertTrue(unlessNull instanceof UpdateAutoDynamicCommand); + unlessNull.execute(new Object[] { e } ); + + Employee11 after = (Employee11) select.execute(new Object[] { new Integer( + 7369) } ); + assertNotNull(after); + } + } Index: C:/Tomcat/webapps/s2dao-1.0.x/s2-dao/src/test/java/org/seasar/dao/impl/Employee11.java =================================================================== — C:/Tomcat/webapps/s2dao-1.0.x/s2-dao/src/test/java/org/seasar/dao/impl/Employee11.java (revision 0) +++ C:/Tomcat/webapps/s2dao-1.0.x/s2-dao/src/test/java/org/seasar/dao/impl/Employee11.java (revision 0) @@ -0,0 +1,147 @@ +/* + * Copyright 2004-2006 the Seasar Foundation and the Others. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.seasar.dao.impl; + +import java.io.Serializable; +import java.sql.Timestamp; + +public class Employee11 implements Serializable { + + public static final String TABLE = "EMP"; + + public static final String timestamp_COLUMN = "tstamp"; + + private long empno; + + private String ename; + + private String job; + + private Short mgr; + + private java.util.Date hiredate; + + private Float sal; + + private Float comm; + + private int deptno; + + private String dummy; + + public Employee11() { + } + + public Employee11(long empno) { + this.empno = empno; + } + + public long getEmpno() { + return this.empno; + } + + public void setEmpno(long empno) {+ this.empno = empno;+ } + + public java.lang.String getEname() { + return this.ename; + } + + public void setEname(java.lang.String ename) { + this.ename = ename; + } + + public java.lang.String getJob() { + return this.job; + } + + public void setJob(java.lang.String job) { + this.job = job; + } + + public Short getMgr() { + return this.mgr; + } + + public void setMgr(Short mgr) { + this.mgr = mgr; + } + + public java.util.Date getHiredate() { + return this.hiredate; + } + + public void setHiredate(java.util.Date hiredate) { + this.hiredate = hiredate; + } + + public Float getSal() { + return this.sal; + } + + public void setSal(Float sal) { + this.sal = sal; + } + + public Float getComm() { + return this.comm; + } + + public void setComm(Float comm) { + this.comm = comm; + } + + public int getDeptno() { + return this.deptno; + } + + public void setDeptno(int deptno) { + this.deptno = deptno; + } + + public String getDummy() { + return this.dummy; + } + + public void setDummy(String dummy) { + this.dummy = dummy; + } + + public boolean equals(Object other) { + if (!(other instanceof Employee11)) + return false; + Employee11 castOther = (Employee11) other; + return this.getEmpno() == castOther.getEmpno(); + } + + public int hashCode() { + return (int) this.getEmpno(); + } + + public String toString() { + StringBuffer buf = new StringBuffer(); + buf.append(empno).append(", "); + buf.append(ename).append(", "); + buf.append(job).append(", "); + buf.append(mgr).append(", "); + buf.append(hiredate).append(", "); + buf.append(sal).append(", "); + buf.append(comm).append(", "); + buf.append(deptno).append(", "); + return buf.toString(); + } +} Index: C:/Tomcat/webapps/s2dao-1.0.x/s2-dao/src/test/java/org/seasar/dao/impl/EmployeeAutoDao2.java =================================================================== — C:/Tomcat/webapps/s2dao-1.0.x/s2-dao/src/test/java/org/seasar/dao/impl/EmployeeAutoDao2.java (revision 0) +++ C:/Tomcat/webapps/s2dao-1.0.x/s2-dao/src/test/java/org/seasar/dao/impl/EmployeeAutoDao2.java (revision 0) @@ -0,0 +1,30 @@ +/* + * Copyright 2004-2006 the Seasar Foundation and the Others. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ +package org.seasar.dao.impl; + +import java.util.List; + +public interface EmployeeAutoDao2 { + + public Class BEAN = Employee11.class; + + public String getEmployee2_ARGS = "empno"; + + public Employee11 getEmployee2(int empno); + + public void update2UnlessNull(Employee11 employee); + +}

            Assignee:
            taichi
            Reporter:
            azusa
            Votes:
            0 Vote for this issue
            Watchers:
            Start watching this issue

              Created:
              Updated:
              Resolved: