Hi Anna,
Annapoorani Rathi wrote:
Hi,
I just started on OJB..
In PB Tutorial, the code snippet does not fetch me the record and result is null (though the record is present in DB)
broker = PersistenceBrokerFactory.defaultPersistenceBroker();
QueryByCriteria query = new QueryByCriteria(template);
result = (Product)broker.getObjectByQuery(query);
But if i replace the above with the code below, i do get a populated result object
broker = PersistenceBrokerFactory.defaultPersistenceBroker();
Criteria criteria = new Criteria();
criteria.addEqualTo("name","Sprocket");
QueryByCriteria query = new QueryByCriteria(Product.class, criteria);
result = (Product)broker.getObjectByQuery(query);
I understand that the first Impl decodes to Second internally.
But then the first Impl does not work.
Can anyone help me to reason out??
I assume that you define a primitive number field (e.g. int) of your persistent class Product as PK field in class-descriptor. If so, OJB will always find PK '0' in your template object and will create a query based on that value.
Try to use a non-primitive field (e.g. change field to Integer) and run your test again. It's recommended to use non-primitive fields for PK and FK fields.
regards, Armin
Thanks Anna
--------------------------------- Yahoo! Messenger - Communicate instantly..."Ping" your friends today! Download Messenger Now
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
