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]
