Hi Jakob, Gerhard
In ReferencePrefetcher#associateBatched:
...
while (iter.hasNext())
{
owner = iter.next();
fkValues = ord.getForeignKeyValues(owner,cld);
id = new Identity(null, topLevelClass, fkValues);
relatedObject = pb.getObjectByIdentity(id);
field.set(owner, relatedObject);
}
...
Should this also be ensuring a non null foreign key value?
Carl.
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Wednesday, October 15, 2003 3:59 PM
To: OJB Users List
Subject: Re: Antwort: RE: How to map optional 1:1 relationship
Hi Jakob,
I just checked and you are right.
Nevertheless I find a lot of statements like SELECT ... FROM ... WHERE
id='' in my P6Spy logs, where id is a not nullable primary key. I was
assuming these were generated from resolving references with FK=null, but
it turns out this is wrong. Looks like I'll have to do a little more
research to find the reason for these selects...
Regards,
Gerhard
Jakob Braeuchi <[EMAIL PROTECTED]>
15.10.2003 16:10
Bitte antworten an "OJB Users List"
An: OJB Users List <[EMAIL PROTECTED]>
Kopie:
Thema: Re: Antwort: RE: How to map optional 1:1 relationship
hi gerhard,
imo this is already implemented. see
PersistenceBrokerImpl#getReferencedObject:
...
// BRJ: check if we have non null pk values
// TBD we should also check primitives
// to avoid creation of unmaterializable proxies
for (int i = 0; i < pkVals.length; i++)
{
if (pkVals[i] != null)
{
allPkNull = false;
break;
}
}
// BRJ: if all pk values are null there's no referenced object
if (allPkNull)
{
return null;
}
...
The contents of this email are confidential to the intended recipient at the email
address to which it has been addressed. It may not be disclosed to or used by anyone
other than this addressee, nor may it be copied in any way. If received in error,
please contact DLA, a UK law firm, (http://www.dla.com/) on +44 (0) 8700 111111
quoting the name of the sender and the addressee and then delete it from your system.
Please note that neither DLA nor the sender accepts any responsibility for viruses and
it is your responsibility to scan the email and attachments (if any). No contracts
may be concluded on behalf of DLA by means of email communications.
A list of the names of the partners of DLA (who are either solicitors or registered
foreign lawyers) and their qualifications is available for inspection at 3 Noble
Street, London, EC2V 7EE, UK.
Regulated by the Law Society.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]