From dev-return-12164-apmail-openjpa-dev-archive=openjpa.apache.org@openjpa.apache.org Sat May 30 19:52:34 2009 Return-Path: Delivered-To: apmail-openjpa-dev-archive@www.apache.org Received: (qmail 91818 invoked from network); 30 May 2009 19:52:34 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 30 May 2009 19:52:34 -0000 Received: (qmail 63655 invoked by uid 500); 30 May 2009 19:52:46 -0000 Delivered-To: apmail-openjpa-dev-archive@openjpa.apache.org Received: (qmail 63630 invoked by uid 500); 30 May 2009 19:52:46 -0000 Mailing-List: contact dev-help@openjpa.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openjpa.apache.org Delivered-To: mailing list dev@openjpa.apache.org Received: (qmail 63620 invoked by uid 99); 30 May 2009 19:52:46 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 30 May 2009 19:52:46 +0000 X-ASF-Spam-Status: No, hits=-4.0 required=10.0 tests=RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [192.18.43.133] (HELO sca-es-mail-2.sun.com) (192.18.43.133) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 30 May 2009 19:52:33 +0000 Received: from fe-sfbay-10.sun.com ([192.18.43.129]) by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id n4UJqCFc027752 for ; Sat, 30 May 2009 12:52:12 -0700 (PDT) MIME-version: 1.0 Received: from conversion-daemon.fe-sfbay-10.sun.com by fe-sfbay-10.sun.com (Sun Java(tm) System Messaging Server 7u2-7.02 64bit (built Apr 16 2009)) id <0KKH00K002WYJR00@fe-sfbay-10.sun.com> for dev@openjpa.apache.org; Sat, 30 May 2009 12:52:12 -0700 (PDT) Received: from [192.168.0.13] (c-24-23-181-209.hsd1.ca.comcast.net [24.23.181.209]) by fe-sfbay-10.sun.com (Sun Java(tm) System Messaging Server 7u2-7.02 64bit (built Apr 16 2009)) with ESMTPSA id <0KKH00K6P35G4040@fe-sfbay-10.sun.com> for dev@openjpa.apache.org; Sat, 30 May 2009 12:52:12 -0700 (PDT) Date: Sat, 30 May 2009 12:52:11 -0700 From: Craig L Russell Subject: Re: Help with StateManager relationships In-reply-to: <1243373310734-2977345.post@n2.nabble.com> Sender: Craig.Russell@Sun.COM To: dev@openjpa.apache.org Message-id: <17EABDB3-A543-4FBC-984B-791B1C5FC773@SUN.com> X-Mailer: Apple Mail (2.935.3) Content-type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha1; boundary=Apple-Mail-228--882040640 References: <1243373310734-2977345.post@n2.nabble.com> X-Virus-Checked: Checked by ClamAV on apache.org --Apple-Mail-228--882040640 Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Hi Pinaki, Thanks for the tips. I think I have the basics now. Craig On May 26, 2009, at 2:28 PM, Pinaki Poddar wrote: > > Hi Craig, >> So in the case of the relationship field called "a" that refers to an >> instance of "A", the column is "a_id". > > Let us say we are loading an instance of B called b. B has a one-to- > one > relation to A expressed as a field B.a. B.a will be assigned a > strategy (in > this case RelationFieldStrategy). > > 1. In course of loading B, JDBCStoreManager has a StateManager(B) > and some > data from database. JDBCStoreManager is loading field-by-field of B. > 2. Now when JDBCStoreManager encounters field B.a, it will call > that field > to load(1246). The field will delegate that call to its strategy. > 3. The strategy will effectively call back to the JDBCStoreManager to > find(1234, A.class) -- because strategy knows that 1246 is a > reference to an > instance of A. > 4. JDBCStoreManager.find(1246) will resolve the reference 1246 as a > real > instance by calling _ctx.find(1246,....). The _ctx is broker. Let > us say, > broker finds a1 - an instance of A - already in cache with id 1246. > 5. Now RelationFieldStreagy(B.a) can set > StateManager(b).storeObject(field.index(B.a), a1) > > I may have missed many a details and important points. But hope > that helps > you to get a more accurate picture of how OpenJPA resolves references. > > Regards -- > > Pinaki > > > > ----- > Pinaki Poddar http://ppoddar.blogspot.com/ > > http://www.linkedin.com/in/pinakipoddar > OpenJPA PMC Member/Committer > JPA Expert Group Member > -- > View this message in context: http://n2.nabble.com/Help-with-StateManager-relationships-tp2976437p2977345.html > Sent from the OpenJPA Developers mailing list archive at Nabble.com. > Craig L Russell Architect, Sun Java Enterprise System http://db.apache.org/jdo 408 276-5638 mailto:Craig.Russell@sun.com P.S. A good JDO? O, Gasp! --Apple-Mail-228--882040640 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGUDCCAwkw ggJyoAMCAQICEDXZ+Ig/3d9DjJZ8u++ZnC0wDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UEBhMCWkEx JTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQ ZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA4MTIwOTE4MTYwMloXDTA5MTIwOTE4MTYw MlowbDEQMA4GA1UEBBMHUnVzc2VsbDEUMBIGA1UEKhMLQ3JhaWcgTGFpcmQxHDAaBgNVBAMTE0Ny YWlnIExhaXJkIFJ1c3NlbGwxJDAiBgkqhkiG9w0BCQEWFUNyYWlnLlJ1c3NlbGxAU3VuLkNPTTCC ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOe3oksetTgSiqqWllhIYBT0dWhR4CitzXDf +ETyrtEF2HWRRpfwixLpV1Az8wwFzNKfjvQn3tQh0A/VDDeepDEM9TKLP+D6qShLR/KTf5kCMyT4 mILJYIDo/JMmTIH5jceojvlTDFd0gd+XXNAGGz1Wu2XxfvFDE/lpFnQkKYE+VjjENONy4JlkJnOI rSfMlb+zHPAUmMTtmhxYIDLgov4Jv2Z5pUKZMpNcYr+7jJeUxkxKwWm4im56h7CGP0Yhkq2Je506 mqKCFImxofBjkHZISVS5m7WaGs4lViDtwLQEPtyUt7RcaoYWTvEQtvoy1TE2oZDUaAYFxVu0cHUW bU0CAwEAAaMyMDAwIAYDVR0RBBkwF4EVQ3JhaWcuUnVzc2VsbEBTdW4uQ09NMAwGA1UdEwEB/wQC MAAwDQYJKoZIhvcNAQEFBQADgYEAQaqAADs5GLyk9iO1xfmNFySpOXXofJPEbfbt77BK/WLhLOwS 69WIxSmGMpGGUlLd6FJ1xfLzsvP9/N5tmZQlpGcBoEwrn830JcbNyEG0ANcmdeAy2yBjNjWoIDhV QmQw8OgJDk0xi0Tv/UYm9uPxOhDJOA67a3v6FHvSAbLqBScwggM/MIICqKADAgECAgENMA0GCSqG SIb3DQEBBQUAMIHRMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQH EwlDYXBlIFRvd24xGjAYBgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZp Y2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMSQwIgYDVQQDExtUaGF3dGUgUGVyc29uYWwgRnJlZW1h aWwgQ0ExKzApBgkqhkiG9w0BCQEWHHBlcnNvbmFsLWZyZWVtYWlsQHRoYXd0ZS5jb20wHhcNMDMw NzE3MDAwMDAwWhcNMTMwNzE2MjM1OTU5WjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3Rl IENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWls IElzc3VpbmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMSmPFVzVftOucqZWh5owHUE cJ3f6f+jHuy9zfVb8hp2vX8MOmHyv1HOAdTlUAow1wJjWiyJFXCO3cnwK4Vaqj9xVsuvPAsH5/Ef kTYkKhPPK9Xzgnc9A74r/rsYPge/QIACZNenprufZdHFKlSFD0gEf6e20TxhBEAeZBlyYLf7AgMB AAGjgZQwgZEwEgYDVR0TAQH/BAgwBgEB/wIBADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3Js LnRoYXd0ZS5jb20vVGhhd3RlUGVyc29uYWxGcmVlbWFpbENBLmNybDALBgNVHQ8EBAMCAQYwKQYD VR0RBCIwIKQeMBwxGjAYBgNVBAMTEVByaXZhdGVMYWJlbDItMTM4MA0GCSqGSIb3DQEBBQUAA4GB AEiM0VCD6gsuzA2jZqxnD3+vrL7CF6FDlpSdf0whuPg2H6otnzYvwPQcUCCTcDz9reFhYsPZOhl+ hLGZGwDFGguCdJ4lUJRix9sncVcljd2pnDmOjCBPZV+V2vf3h9bGCE6u9uo05RAaWzVNd+NWIXiC 3CEZNd4ksdMdRv9dX2VPMYIDEDCCAwwCAQEwdjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt YWlsIElzc3VpbmcgQ0ECEDXZ+Ig/3d9DjJZ8u++ZnC0wCQYFKw4DAhoFAKCCAW8wGAYJKoZIhvcN AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDkwNTMwMTk1MjEyWjAjBgkqhkiG9w0B CQQxFgQUYYzO+8WwVEppzqaIEOFCXdE5a88wgYUGCSsGAQQBgjcQBDF4MHYwYjELMAkGA1UEBhMC WkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0 ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhA12fiIP93fQ4yWfLvvmZwtMIGHBgsqhkiG 9w0BCRACCzF4oHYwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQ dHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhA1 2fiIP93fQ4yWfLvvmZwtMA0GCSqGSIb3DQEBAQUABIIBAI4qW1DYy8mIKIBCVczc7qHhEnki4xgd /m+7WJKkaDzDg0X7oljxup1F0g3dsXb7CCEoybEDZevYQa3n7k6UtJyFOjfgew0fHuVxD+UVu+Li pTJzrgJWEQCUDpJzCOS76V2xC8DU+IJflIapspjOSZ83gf/loduu8dJcfLYJ0ivPwBYod3jkoZe+ wy/4abCau1T65tgq210y+mD87Qx6BRdy5LDJ/+mhHqWlNBUKwiByOhlzFondKcRs2nI4vbIuEAW0 m0M269lxZbBHnZDU0ugwa2IW7zWZOri5HOnSmnvuJSn/56Qy+64E4k3DTANJpiDagkw8YzbZ+BFN I46Usp8AAAAAAAA= --Apple-Mail-228--882040640--