object query exception
Hi!
I want to query PromotionTarget objects by two parameters:
String str = obj.toString();
HashMap<String, String> objSpec = getObjSpec(str);
QuerySpec qs = new QuerySpec(PromotionTarget.class);
qs.setAdvancedQueryEnabled (true);
SearchCondition sc1 = new SearchCondition(PromotionTarget.class, "roleBObjectRef.key.classname", SearchCondition.EQUAL, objSpec.get("objClass"));
qs.appendWhere(sc1, new int[]{0});
qs.appendAnd();
SearchCondition sc2 = new SearchCondition(PromotionTarget.class, "roleBObjectRef.key.id", SearchCondition.EQUAL, Long.getLong(objSpec.get("objId")));
qs.appendWhere(sc2, new int[]{0});
QueryResult qr = PersistenceHelper.manager.find(qs);
Persistable[] per = null;
while (qr.hasMoreElements())
{
per = (Persistable[])qr.nextElement();
list.add((PromotionTarget)per[0]);
}
But I have an exception like this:
wt.pom.DatastoreException: Ошибка SQL при выполнении инструкции "SELECT 'wt.maturity.PromotionTarget',A0.createLCTemplateIsNull,A0.classnamekeyA6,A0.idA3A6,A0.createState,A0.description,A0.classnamekeyroleAObjectRef,A0.idA3A5,A0.classnamekeyroleBObjectRef,A0.idA3B5,CONVERT(varchar,A0.createStampA2,120),A0.markForDeleteA2,CONVERT(varchar,A0.modifyStampA2,120),A0.idA2A2,A0.updateCountA2,CONVERT(varchar,A0.updateStampA2,120) FROM PromotionTarget A0 WHERE ((A0.classnamekeyroleBObjectRef = ?) AND (A0.idA3B5 = )) AND (A0.markForDeleteA2 = 0); Bind Parameters=[wt.doc.WTDocument]". Сообщение системы базы данных:
2015-11-13 16:31:16,075 INFO [ajp-bio-8010-exec-4] wt.system.out nadmin - Вложенное исключение: com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near ')'.

