Hello,
I've written a little app wich use cayenne.
I have (quite the same) the following runtime exception using Derby and
hsqldb, but not using MySql.
The exception is absolutely not clear to me, than please could someone
explain me where I'm doing wrong???
Some notes:
1 - I'm using a custom DataSourceFactory cause I've done some little
integration with Spring framework (inject the datasource during startup),
I think it is not the problem (I can post the class if you need)
2 - I'm using dbcp to pool connections (may be that dbcp give problems with
embedded dbs? I don't think ... )
the datasource url:
jdbc:hsqldb:file:/Users/steeve_work/hsqldbs/canvassManagerdb
The exception is thrown after the commit, the select statement returns one
row as expected
Ah, this is the method:
public class CayenneCanvassDao [ ... ]
public List<Canvass> getCanvasses()
{
SelectQuery q = new SelectQuery(CayCanvass.class);
Ordering o = new Ordering("db:id", Ordering.ASC);
q.addOrdering(o);
return (List<Canvass>)getDataContext().performQuery(q);
}
[ ... ]
CayCanvass extends auto._CayCanvass and implements Canvass (i've done some
abstractions :-) )
Sorry for my BAD engish :-)
MANY MANY MANY THANKS!!!!!
PS, if you need more details, please ask for it!
[the stack trace]
INFO main org.apache.cayenne.conf.RuntimeLoadDelegate - started
configuration loading.
INFO main org.apache.cayenne.conf.RuntimeLoadDelegate - loaded domain:
CanvassDomain
INFO main org.apache.cayenne.conf.RuntimeLoadDelegate - loaded <map
name='CanvassDomainMap' location='CanvassDomainMap.map.xml'>.
INFO main org.apache.cayenne.conf.RuntimeLoadDelegate - loading <node
name='CanvassDomainNode' datasource='CanvassDomainNode.driver.xml'
factory='org.apache.cayenne.conf.DriverDataSourceFactory'>.
INFO main org.apache.cayenne.conf.RuntimeLoadDelegate - using factory:
com.steeve.canvassmanager.orm.cayenne.utils.DataSourceFactoryImpl
INFO main org.apache.cayenne.conf.RuntimeLoadDelegate - loaded datasource.
INFO main org.apache.cayenne.conf.RuntimeLoadDelegate - loaded map-ref:
CanvassDomainMap.
INFO main org.apache.cayenne.conf.RuntimeLoadDelegate - finished
configuration loading in 107 ms.
[...]
INFO http-8080-Processor24 org.apache.cayenne.access.QueryLogger - --- will
run 1 query.
INFO http-8080-Processor24 org.apache.cayenne.access.QueryLogger - ---
transaction started.
INFO http-8080-Processor24 org.apache.cayenne.access.QueryLogger - SELECT
t0.title, t0.id FROM Canvass t0 ORDER BY t0.id - prepared in 34 ms.
INFO http-8080-Processor24 org.apache.cayenne.access.QueryLogger - ===
returned 1 row. - took 83 ms.
INFO http-8080-Processor24 org.apache.cayenne.access.QueryLogger - +++
transaction committed.
INFO http-8080-Processor24 org.apache.cayenne.access.QueryLogger - --- will
run 1 query.
INFO http-8080-Processor24 org.apache.cayenne.access.QueryLogger - ---
transaction started.
INFO http-8080-Processor24 org.apache.cayenne.access.QueryLogger - select *
from Canvass c where c.id = (select MAX(c.id) from Canvass c)
INFO http-8080-Processor24 org.apache.cayenne.access.QueryLogger - ===
returned 1 row. - took 6 ms.
INFO http-8080-Processor24 org.apache.cayenne.access.QueryLogger - +++
transaction committed.
ERROR http-8080-Processor24
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/GWTCanvassManager]
- Exception while dispatching incoming RPC call
java.lang.RuntimeException:
com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public
abstract java.util.List
com.steeve.canvassmanager.gwt.client.rpc.CanvassServices.listCanvasses()'
threw an unexpected exception: org.apache.cayenne.CayenneRuntimeException:
[v.2.0.4 October 8 2007] Null value for 'id'. Snapshot:
org.apache.cayenne.DataRo..5a397[values={TITLE=asd, ID=200},
version=-9223372036854775806, replaces=-9223372036854775808]. Prefix: null
at
org.gwtwidgets.server.spring.GWTRPCServiceExporter.handleExporterProcessingException(GWTRPCServiceExporter.java:344)
at
org.gwtwidgets.server.spring.GWTRPCServiceExporter.processCall(GWTRPCServiceExporter.java:313)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:86)
at
org.gwtwidgets.server.spring.GWTRPCServiceExporter.handleRequest(GWTRPCServiceExporter.java:363)
at
org.springframework.web.context.support.HttpRequestHandlerServlet.service(HttpRequestHandlerServlet.java:63)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:613)
Caused by: com.google.gwt.user.server.rpc.UnexpectedException: Service
method 'public abstract java.util.List
com.steeve.canvassmanager.gwt.client.rpc.CanvassServices.listCanvasses()'
threw an unexpected exception: org.apache.cayenne.CayenneRuntimeException:
[v.2.0.4 October 8 2007] Null value for 'id'. Snapshot:
org.apache.cayenne.DataRo..5a397[values={TITLE=asd, ID=200},
version=-9223372036854775806, replaces=-9223372036854775808]. Prefix: null
at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:360)
at
org.gwtwidgets.server.spring.GWTRPCServiceExporter.handleInvocationTargetException(GWTRPCServiceExporter.java:215)
at
org.gwtwidgets.server.spring.GWTRPCServiceExporter.processCall(GWTRPCServiceExporter.java:304)
... 18 more
Caused by: org.apache.cayenne.CayenneRuntimeException: [v.2.0.4 October 8
2007] Null value for 'id'. Snapshot:
org.apache.cayenne.DataRo..5a397[values={TITLE=asd,
ID=200}, version=-9223372036854775806, replaces=-9223372036854775808].
Prefix: null
at
org.apache.cayenne.access.ObjectResolver.createObjectId(ObjectResolver.java:254)
at
org.apache.cayenne.access.ObjectResolver.objectFromDataRow(ObjectResolver.java:196)
at
org.apache.cayenne.access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:117)
at
org.apache.cayenne.access.ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java:97)
at
org.apache.cayenne.access.DataDomainQueryAction.interceptObjectConversion(DataDomainQueryAction.java:319)
at
org.apache.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:116)
at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:746)
at
org.apache.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:217)
at
org.apache.cayenne.access.DataContextQueryAction.execute(DataContextQueryAction.java:54)
at org.apache.cayenne.access.DataContext.onQuery(DataContext.java:1395)
at org.apache.cayenne.access.DataContext.performQuery(DataContext.java:1384)
at
com.steeve.canvassmanager.dao.cayenne.CayenneCanvassDao.lastCanvass(CayenneCanvassDao.java:58)
at
com.steeve.canvassmanager.gwt.server.rpc.CanvassServicesImpl.listCanvasses(CanvassServicesImpl.java:72)
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:585)
at
org.gwtwidgets.server.spring.GWTRPCServiceExporter.invokeMethodOnService(GWTRPCServiceExporter.java:148)
at
org.gwtwidgets.server.spring.GWTRPCServiceExporter.processCall(GWTRPCServiceExporter.java:298)
... 18 more
This archive was generated by hypermail 2.0.0 : Thu Sep 18 2008 - 14:31:39 EDT