Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] Binding both foreign object reference and foreign id field to object

Yes, you can just use an @Column, but you will need to make it read-only by
setting insertable=false, updateable=false.  It is up to your application to
keep the two in synch, i.e. in your setCustomer() method you may want to
also set the customerId.



Cody McCain wrote:
> 
> Would someone mind instructing me on how I might go about binding both a
> foreign object reference and a foreign key to an object using
> EclipseLink's JPA implementation?
> 
> For example, I have the following simple domain objects (most methods and
> attributes left out to simplify example):
> 
> @Entity
> @Table(name = "CUSTOMERS")
> public class Customer {
>         @Id
>         @GeneratedValue(strategy = GenerationType.IDENTITY)
>         private long id;
> 
>         @Column(name = "NAME")
>         private String name;
> 
>         // getters and setters below
> }
> 
> @Entity
> @Table(name = "JOBS")
> Public class Job {
>         @Id
>         @GeneratedValue(strategy = GenerationType.IDENTITY)
>         private long id;
> 
>         @Column(name = "DESCRIPTION")
>         private String description;
> 
>         @ManyToOne(fetch = FetchType.LAZY)
>         @JoinColumn(name = "CUSTOMER_ID")
>         private Customer customer;
> 
> 
>         // ? JPA attribute, should I use @COLUMN?
>         private long customerId;
> 
>         // getters and setters below
> }
> 
> 
> I would like to be able to fetch a Job domain object without loading the
> referenced Customer object (this the lazy load strategy).  However, I
> would like to have access to the customerId associated in the link (even
> if it is read-only).  Would I simply add another attribute and map it to
> the foreign key field storing the customerId?  What happens if both this
> field and the reference is changed independently and the Job object is
> persisted (I realize I should write defensive code to prevent this, but
> what is the best pattern)?
> 
> Thanks for the help!
> 
> Regards,
> 
> Cody McCain
> Director of Software Development
> Frac Tech Services, Ltd.
> (817) 349-4330 (office)
> (580) 504-0797 (mobile)
> 
> Ops Support: opssupport@xxxxxxxxxxxx, (817) 764-0432
> 
> 
> 
> CONFIDENTIALITY NOTICE:  This email message and any attachments hereto are
> intended only for use by the addressee(s) named herein and may contain
> information which is legally privileged, confidential and/or exempt from
> disclosure under applicable law.  If you are not the intended recipient,
> or an authorized representative of the intended recipient, of this email
> message, you are hereby notified that any review, dissemination,
> distribution, copying, or use (including any reliance thereon) of this
> email message, and/or any attachment hereto, is strictly prohibited.
> 
> Although this transmission and any attachments are believed to be free of
> any virus or other defect that might affect any computer system into which
> it is received and opened, it is the responsibility of the recipient to
> ensure that it is free from virus or other defect and no responsibility is
> accepted by the sending company, its subsidiaries and affiliates, as
> applicable, for any loss or damage arising in any way from its use.
> 
> If you have received this email message in error, please immediately
> notify the sender by return email and permanently delete from your system,
> the original and any copies of this email and any attachments hereto and
> any printout hereof.  Unauthorized interception of this email is a
> violation of federal criminal law.
> 
> 


-----
http://wiki.eclipse.org/User:James.sutherland.oracle.com James Sutherland 
http://www.eclipse.org/eclipselink/
 EclipseLink ,  http://www.oracle.com/technology/products/ias/toplink/
TopLink 
Wiki:  http://wiki.eclipse.org/EclipseLink EclipseLink , 
http://wiki.oracle.com/page/TopLink TopLink 
Forums:  http://forums.oracle.com/forums/forum.jspa?forumID=48 TopLink , 
http://www.nabble.com/EclipseLink-f26430.html EclipseLink 
Book:  http://en.wikibooks.org/wiki/Java_Persistence Java Persistence 
-- 
View this message in context: http://www.nabble.com/Binding-both-foreign-object-reference-and-foreign-id-field-to-object-tp25959505p25974468.html
Sent from the EclipseLink - Users mailing list archive at Nabble.com.



Back to the top