Consider the following EoD Query:
@Update(sql="insert into practiceschedule(practicedate, practicetime, team)" +
"values(?1, ?2, ?3)"
, keys= GeneratedKeys.RETURNED_KEYS_DRIVER_DEFINED)
DataSet<Keys> addTeamPractice(java.sql.Date practiceDate,
java.sql.Time practiceTime, Integer team);
If you omit the
, keys= GeneratedKeys.RETURNED_KEYS_DRIVER_DEFINED
so that your query looks like:
@Update(sql="insert into practiceschedule(practicedate, practicetime, team)" +
"values(?1, ?2, ?3)"
)
DataSet<Keys> addTeamPractice(java.sql.Date practiceDate,
java.sql.Time practiceTime, Integer team);
You will get the following error which is not useful at runtime:
java.sql.SQLException: Unexpected Exception
at com.sun.sql.QueryObjectGeneratorImpl.getAutoGeneratedKeys(QueryObjectGeneratorImpl.java:1596)
at com.sun.sql.QueryObjectGeneratorImpl.access$300(QueryObjectGeneratorImpl.java:24)
at com.sun.sql.QueryObjectGeneratorImpl$4.run(QueryObjectGeneratorImpl.java:573)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.sql.QueryObjectGeneratorImpl.getUpdateImpl(QueryObjectGeneratorImpl.java:567)
at com.sun.sql.QueryObjectGeneratorImpl.access$200(QueryObjectGeneratorImpl.java:24)
at com.sun.sql.QueryObjectGeneratorImpl$3.run(QueryObjectGeneratorImpl.java:238)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.sql.QueryObjectGeneratorImpl.invoke(QueryObjectGeneratorImpl.java:233)
at $Proxy0.addTeam(Unknown Source)
at com.sun.jdbc.samples.tennis.TennisTest.addTeam(TennisTest.java:160)
at com.sun.jdbc.samples.tennis.TennisTest.runEod(TennisTest.java:76)
at com.sun.jdbc.samples.tennis.TennisTest.main(TennisTest.java:34)
Caused by: java.sql.SQLException: Null ResultSet handle
at com.sun.sql.QueryObjectGeneratorImpl.getAutoGeneratedKeys(QueryObjectGeneratorImpl.java:1566)
... 12 more
Exception in thread "main" java.lang.NullPointerException
at com.sun.jdbc.samples.tennis.TennisTest.addTeam(TennisTest.java:161)
at com.sun.jdbc.samples.tennis.TennisTest.runEod(TennisTest.java:76)
at com.sun.jdbc.samples.tennis.TennisTest.main(TennisTest.java:34)
@Update(sql="insert into practiceschedule(practicedate, practicetime, team)" +
"values(?1, ?2, ?3)"
, keys= GeneratedKeys.RETURNED_KEYS_DRIVER_DEFINED)
DataSet<Keys> addTeamPractice(java.sql.Date practiceDate,
java.sql.Time practiceTime, Integer team);
If you omit the
, keys= GeneratedKeys.RETURNED_KEYS_DRIVER_DEFINED
so that your query looks like:
@Update(sql="insert into practiceschedule(practicedate, practicetime, team)" +
"values(?1, ?2, ?3)"
)
DataSet<Keys> addTeamPractice(java.sql.Date practiceDate,
java.sql.Time practiceTime, Integer team);
You will get the following error which is not useful at runtime:
java.sql.SQLException: Unexpected Exception
at com.sun.sql.QueryObjectGeneratorImpl.getAutoGeneratedKeys(QueryObjectGeneratorImpl.java:1596)
at com.sun.sql.QueryObjectGeneratorImpl.access$300(QueryObjectGeneratorImpl.java:24)
at com.sun.sql.QueryObjectGeneratorImpl$4.run(QueryObjectGeneratorImpl.java:573)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.sql.QueryObjectGeneratorImpl.getUpdateImpl(QueryObjectGeneratorImpl.java:567)
at com.sun.sql.QueryObjectGeneratorImpl.access$200(QueryObjectGeneratorImpl.java:24)
at com.sun.sql.QueryObjectGeneratorImpl$3.run(QueryObjectGeneratorImpl.java:238)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.sql.QueryObjectGeneratorImpl.invoke(QueryObjectGeneratorImpl.java:233)
at $Proxy0.addTeam(Unknown Source)
at com.sun.jdbc.samples.tennis.TennisTest.addTeam(TennisTest.java:160)
at com.sun.jdbc.samples.tennis.TennisTest.runEod(TennisTest.java:76)
at com.sun.jdbc.samples.tennis.TennisTest.main(TennisTest.java:34)
Caused by: java.sql.SQLException: Null ResultSet handle
at com.sun.sql.QueryObjectGeneratorImpl.getAutoGeneratedKeys(QueryObjectGeneratorImpl.java:1566)
... 12 more
Exception in thread "main" java.lang.NullPointerException
at com.sun.jdbc.samples.tennis.TennisTest.addTeam(TennisTest.java:161)
at com.sun.jdbc.samples.tennis.TennisTest.runEod(TennisTest.java:76)
at com.sun.jdbc.samples.tennis.TennisTest.main(TennisTest.java:34)