Hi,

that's not the case. It's just that if the fk-field (organization_id) is
null, the code gives me a nullpointerexception. If the fk-field is not
null (i.e. it's a value that references the other table), the code works
perfectly. It's the function QueryResults.hasMore() that nullpointers.

Hopefully i've made the problem clear now... any solutions?

Thank you,
Michel

On Mon, 19 Nov 2001, Thomas Yip wrote:

> 
> Foregin key can certainly be null or valid.
> 
> Ok. I was confused by your word "invalid", and the double negativity in a
> sentence.
> Invalid fk for me means there is no such row with in the related table has
> the fk as its pk.
> 
> 
> Thomas
> 
> 
> -----Original Message-----
> >From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
> >Sent: Monday, November 19, 2001 1:12 PM
> >To: [EMAIL PROTECTED]
> >Subject: Re: [castor-dev] nullpointerexception with null foreign key
> >
> >Hi,
> >
> >this means you can't have a foreign-key that may be null? Cause i don't
> >think that's something you want in a database...
> >
> >This bug isn't a known one, with a known work-around?
> >
> >Thanks!
> >Michel
> >
> >On Mon, 19 Nov 2001, Thomas Yip wrote:
> >
> >>
> >> I don't think Castor is happy to deal with invalid foreign-key.
> >>
> >> However, try the cvs. It has a fixed on some problems of default value,
> >> which may get you a little bit further.
> >>
> >> But, it probably won't solve your special "correct behavior" problem.
> >>
> >>
> >>
> >> Thomas
> >>
> >> -----Original Message-----
> >> >From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]
> >> >Sent: Monday, November 19, 2001 8:35 AM
> >> >To: [EMAIL PROTECTED]
> >> >Subject: [castor-dev] nullpointerexception with null foreign key
> >> >
> >> >Hi there,
> >> >
> >> >I've got a database (SapDB), with a column which is a foreign key that
> may
> >> >be null; the table definition looks like this:
> >> >
> >> >create table users (
> >> >        id integer not null,
> >> >        organization_id integer,
> >> >        primary key(id)
> >> >        )
> >> >
> >> >create table organisations (
> >> >        id integer not null,
> >> >        primary key(id)
> >> >        )
> >> >
> >> >alter table users
> >> >        add foreign key org(organization_id)
> >> >        references organizations(id)
> >> >        on delete restrict;
> >> >
> >> >When i try to retrieve a user without an organization_id from the
> >> >database, castor throws a nullpointerexception from the hasMore method
> of
> >> >the QueryResults object with this stacktrace (only part shown):
> >> >
> >> >java.lang.NullPointerException
> >> >        at java.lang.reflect.Method.invoke(Native Method)
> >> >        at
> >> >org.exolab.castor.persist.FieldMolder.setValue(FieldMolder.java:307)
> >> >        at
> >> >org.exolab.castor.persist.ClassMolder.load(ClassMolder.java:674)
> >> >        at
> org.exolab.castor.persist.LockEngine.load(LockEngine.java:361)
> >> >        at
> >>
> >org.exolab.castor.persist.TransactionContext.load(TransactionContext.java:5
> >> 45)
> >> >        at
> >> >org.exolab.castor.persist.QueryResults.fetch(QueryResults.java:229)
> >> >        at
> >>
> >org.exolab.castor.jdo.engine.OQLQueryImpl$OQLEnumeration.hasMore(OQLQueryIm
> >> pl.java:573)
> >> >        at
> >>
> >org.exolab.castor.jdo.engine.OQLQueryImpl$OQLEnumeration.hasMore(OQLQueryIm
> >> pl.java:556)
> >> >        at nl.dysk.db.DatabaseObject.getVector(Unknown Source)
> >> >        at nl.dysk.db.User.getVector(Unknown Source)
> >> >        at java.lang.reflect.Method.invoke(Native Method)
> >> >
> >> >
> >> >However, when i try to retrieve a user that does have a valid
> >> >organization_id, no exception is thrown and everything works fine.
> >> >
> >> >I don't want to set the organization_id to not null, because that's not
> a
> >> >correct behaviour for my application.
> >> >
> >> >Does anyone have a solution to this problem?
> >> >
> >> >Thanks!
> >> >
> >> >Michel
> >> >
> >> >-----------------------------------------------------------
> >> >If you wish to unsubscribe from this mailing, send mail to
> >> >[EMAIL PROTECTED] with a subject of:
> >> >        unsubscribe castor-dev
> >> >
> >>
> >> -----------------------------------------------------------
> >> If you wish to unsubscribe from this mailing, send mail to
> >> [EMAIL PROTECTED] with a subject of:
> >>       unsubscribe castor-dev
> >>
> >
> >-----------------------------------------------------------
> >If you wish to unsubscribe from this mailing, send mail to
> >[EMAIL PROTECTED] with a subject of:
> >        unsubscribe castor-dev
> >
> 
> ----------------------------------------------------------- 
> If you wish to unsubscribe from this mailing, send mail to
> [EMAIL PROTECTED] with a subject of:
>       unsubscribe castor-dev
> 

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

Reply via email to