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]

Reply via email to