Hi Armin,
Thank you for your reply. Sure I can and here it is.
This is when I try to update an already persisted instance of A :
java.lang.NullPointerException
at
org.apache.ojb.broker.metadata.DescriptorRepository.getDescriptorFor(DescriptorRepository.java:409)
at
org.apache.ojb.broker.core.MtoNBroker.getMtoNImplementor(MtoNBroker.java:129)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeAndLinkMtoN(PersistenceBrokerImpl.java:989)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeCollections(PersistenceBrokerImpl.java:924)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBrokerImpl.java:1776)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:813)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:726)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:175)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:175)
at my.test.dao.ADao.update(ADao.java:189)
And this is when I try to get instances of A with auto-retrieve="true"
on M:N collections within A class mapping :
java.lang.NullPointerException
at
org.apache.ojb.broker.metadata.DescriptorRepository.getDescriptorFor(DescriptorRepository.java:409)
at
org.apache.ojb.broker.metadata.CollectionDescriptor.hasProxyItems(CollectionDescriptor.java:329)
at
org.apache.ojb.broker.core.QueryReferenceBroker.retrieveCollection(QueryReferenceBroker.java:578)
at
org.apache.ojb.broker.core.QueryReferenceBroker.retrieveCollections(QueryReferenceBroker.java:790)
at
org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(RsIterator.java:481)
at
org.apache.ojb.broker.accesslayer.RsIterator.next(RsIterator.java:275)
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:123)
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:251)
at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(QueryReferenceBroker.java:271)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(PersistenceBrokerImpl.java:1367)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:338)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(DelegatingPersistenceBroker.java:338)
at my.test.dao.ADao.findAll(ADao.java:114)
ADao.update calls this :
185 Identity oid = broker.serviceIdentity().buildIdentity(A.class, id);
186 A entity = (A)broker.getObjectByIdentity(oid);
187 entity.setAtt1(value1);
188 entity.setAtt2(value2);
189 broker.store(entity);
and ADao.findAll calls this :
111 final Criteria criteria = new Criteria();
112 Query query = new QueryByCriteria(InnovationEE.class,criteria);
113 if (query != null)
114 results = broker.getCollectionByQuery(query);
No problem at all with 1:1 or 1:N relationship.
Thank you so much Armin.
Ramzi Oueslati
Armin Waibel a écrit :
Hi Ramzi,
Ramzi Oueslati wrote:
Hello everyone,
I've been trying to use OJB lately but I'm a newbie and I'm stuck
with handling simple non decomposed M:N relationships.
Here's my purpose :
...
***
You might have noticed the collections auto-retrieve setting is set
to 'false'. If I set this setting to true in *A* class mapping, I get
a NullPointerException when I try to read instances of A.
Could you please post this stack trace too?
Used version of OJB?
The class mapping seems to be ok.
regards,
Armin
Furthermore, auto-retrieve set to false, I can read and add new
objects but I also get NullPointerExceptions when trying to update an
object already stored.
Is there anything I'm doing wrong ? Please, do not hesitate to ask me
questions. Any help would be greatly appreciated.
Many thanks.
Ramzi Oueslati
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]