Re: query from modeler trouble

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Mon Oct 29 2007 - 08:03:00 EDT

  • Next message: Henri Yandell: "Re: Cayenne Jira"

    I'd say clone a DataMap (e.g. via XML, although
    Util.cloneViaSerialization() would likely also work). And then
    replace Java class for all cloned entities to be CayenneDataObject.
    This should be MUCH less painful than creating real Java classes on
    the fly.

    Andrus

    On Oct 29, 2007, at 10:23 AM, Tore Halset wrote:
    > Hello.
    >
    > I am trying to issue a query from the modeler to the projects
    > DataMap and a selected DataSource. I am stumbling and need some help..
    >
    > Here is my current problematic stack trace from issuing a *data
    > rows* SelectQuery on an entity called "MyEntity".
    >
    > Caused by: java.lang.ClassNotFoundException: myapp.data.MyEntity
    > at java.lang.Class.forName(Class.java:242)
    > at org.apache.cayenne.util.Util.getJavaClass(Util.java:570)
    > at org.apache.cayenne.map.ObjEntity.getJavaClass(ObjEntity.java:256)
    > at
    > org.apache.cayenne.reflect.PersistentDescriptorFactory.getDescriptor
    > (PersistentDescriptorFactory.java:50)
    > at org.apache.cayenne.reflect.ClassDescriptorMap.createDescriptor
    > (ClassDescriptorMap.java:128)
    > at
    > org.apache.cayenne.reflect.LazyClassDescriptorDecorator.checkDescripto
    > rInitialized(LazyClassDescriptorDecorator.java:49)
    > at
    > org.apache.cayenne.reflect.LazyClassDescriptorDecorator.getEntity
    > (LazyClassDescriptorDecorator.java:73)
    > at
    > org.apache.cayenne.access.trans.SelectTranslator.appendQueryColumns
    > (SelectTranslator.java:357)
    > at
    > org.apache.cayenne.access.trans.SelectTranslator.buildResultColumns
    > (SelectTranslator.java:332)
    > at org.apache.cayenne.access.trans.SelectTranslator.createSqlString
    > (SelectTranslator.java:107)
    > at
    > org.apache.cayenne.dba.postgres.PostgresSelectTranslator.createSqlStri
    > ng(PostgresSelectTranslator.java:31)
    > at org.apache.cayenne.access.trans.QueryAssembler.createStatement
    > (QueryAssembler.java:95)
    > at org.apache.cayenne.access.jdbc.SelectAction.performAction
    > (SelectAction.java:71)
    > at org.apache.cayenne.access.DataNodeQueryAction.runQuery
    > (DataNodeQueryAction.java:57)
    > at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:
    > 236)
    >
    > So the problem is that myapp.data.MyEntity does not exist. Is there
    > some smart trick to duplicate the model and make all ObjEntities
    > generic? Or perhaps generate and load the classes in a disposable
    > client class loader?
    >
    > Regards,
    > - Tore.
    >



    This archive was generated by hypermail 2.0.0 : Mon Oct 29 2007 - 08:13:34 EDT