Re: help with non decomposed M:N

Ramzi Oueslati <[email protected]>
Newsgroups gmane.comp.jakarta.ojb.user
Message-ID <[email protected]>
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]
>
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.