Hi,

I try to execute a query with JDO API but I get a java.lang.StackOverflowError Exception at runtime.
Any idea about it ?


Thanks.

My code :
---------

        javax.jdo.PersistenceManager pm = null;
        javax.jdo.Extent ext = null;
        javax.jdo.Query q = null;
        String filter = null,
               params = null;
        java.util.Collection c = null;
        java.lang.Class clazz = null;
        java.lang.Object[] query_values = null;

        // Get the persistence manager
        pm = get_persistence_manager();

        // Build an extent to work on
        clazz = my_storage_object.getClass(=;
        ext = pm.getExtent(clazz, false);

        // Create the query
        filter = "_sh_rid == sh_rid_param & ";
        params = "String sh_rid_param, ";
        for (int i=0; i<fields_names.length; i++)
        {
            filter += fields_names[i] + "==" + fields_names[i] + "_param";
            params += fields_types[i] +" " + fields_names[i] + "_param";
            if (i < fields_names.length-1)
            {
                filter += " & ";
                params += ", ";
            }
        }
        q = pm.newQuery(ext, filter);
        q.declareParameters(params);
        // Construct query parameter values array
        query_values = new java.lang.Object[key_values.length+1];
        query_values[0] = get_rid();
        for (int i=0; i<key_values.length; i++)
        {
            query_values[i+1] = key_values[i];
        }
        // Execute the query
        c = (java.util.Collection) q.executeWithArray(query_values);



Error report :
---------------
java.lang.StackOverflowError
at org.apache.ojb.broker.metadata.DescriptorRepository.discoverDescriptor(Unknown Source)
at org.apache.ojb.broker.metadata.DescriptorRepository.getDescriptorFor(Unknown Source)
at org.apache.ojb.broker.metadata.DescriptorRepository.getDescriptorFor(Unknown Source)
at org.apache.ojb.broker.query.QueryFactory.getExtentClasses(Unknown Source)
at org.apache.ojb.broker.query.QueryFactory.getExtentClasses(Unknown Source)
at org.apache.ojb.broker.query.QueryFactory.getExtentClasses(Unknown Source)
at org.apache.ojb.broker.query.QueryFactory.getExtentClasses(Unknown Source)
at org.apache.ojb.broker.query.QueryFactory.getExtentClasses(Unknown Source)
at org.apache.ojb.broker.query.QueryFactory.getExtentClasses(Unknown Source)
....


--
Christophe Demarey,
Research engineer
OpenCCM project - http://www.objectweb.org/openccm
GOAL Team - CNRS/USTL/LIFL - http://www.lifl.fr/GOAL/
Universite des Sciences et Technologies de Lille
LIFL - UMR CNRS 8022- Batiment M3
59655 Villeneuve d'Ascq Cedex - FRANCE
Phone: +33 (0)32043 4728
Fax  : +33 (0)32043 6566


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to