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]
>
>
>