TrainBeaser for iPhone
The moose likes EJB Certification (SCBCD/OCPJBCD) and the fly likes The difference between field-based access and property-based access Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login
JavaRanch » Java Forums » Professional Certification » EJB Certification (SCBCD/OCPJBCD)
Reply Bookmark "The difference between field-based access and property-based access" Watch "The difference between field-based access and property-based access" New topic
Author

The difference between field-based access and property-based access

Alexey Saenko
Greenhorn

Joined: Aug 18, 2008
Posts: 25
Hi guys,

There is written:
EJB3 in Action wrote:Defining O/R mapping using fields or instance variables of entity is known as field-based access, and using O/R mapping with properties is known as property-based access.


I have some doubts about the following questions:
What do the authors mean under "field-based access" and "property-based access"? What are fields and properties? and what is the difference between them?

Thanks a lot in advance,
Alex.


SCJP 6, SCBCD 5
My blog: http://darkleden.wordpress.com
Jaikiran Pai
Saloon Keeper

Joined: Jul 20, 2005
Posts: 6720

Alexey Saenko wrote:
I have some doubts about the following questions:
What do the authors mean under "field-based access" and "property-based access"? What are fields and properties? and what is the difference between them?



Field based access uses the member variables whereas property based access uses getter/setters.


[My Blog] [JavaRanch Journal]
Alexey Saenko
Greenhorn

Joined: Aug 18, 2008
Posts: 25
In other words, in terms of practice in the case of field-based access a developer annotates instance variables and in the case of property-based he (or she) annotates getters/setters, right? Is there really so big difference between such styles to annotate? It looks like these styles are completely identical. Am I wrong?
Jaikiran Pai
Saloon Keeper

Joined: Jul 20, 2005
Posts: 6720

Alexey Saenko wrote:In other words, in terms of practice in the case of field-based access a developer annotates instance variables and in the case of property-based he (or she) annotates getters/setters, right?

That's correct.

Alexey Saenko wrote:
Is there really so big difference between such styles to annotate? It looks like these styles are completely identical. Am I wrong?


It's more of a personal choice. But the important thing is, you can't mix and match those 2 styles. i.e. your entity should not be annotated at field level as well as property level.
Durai Kalairajan
Greenhorn

Joined: Jan 29, 2010
Posts: 1
Jaikiran Pai wrote:
Alexey Saenko wrote:In other words, in terms of practice in the case of field-based access a developer annotates instance variables and in the case of property-based he (or she) annotates getters/setters, right?

That's not correct.Only getters can be annotated.

JPA specification says,
2.1.1 Persistent Fields and Properties
When property-based access is used, the object/relational mapping annotations for the entity class
annotate the getter property accessors

Joe Harry
Ranch Hand

Joined: Sep 26, 2006
Posts: 8457

There's nothing wrong when you annotate the setter, but it will be silently ignored by the container.


SCJP 1.4, SCWCD 1.4 - Hints for you, SCBCD Hints - Demnachst, SCDJWS - Auch Demnachst
Did a rm -R / to find out that I lost my entire Linux installation!
Jaikiran Pai
Saloon Keeper

Joined: Jul 20, 2005
Posts: 6720

Durai Kalairajan wrote:
Jaikiran Pai wrote:
Alexey Saenko wrote:In other words, in terms of practice in the case of field-based access a developer annotates instance variables and in the case of property-based he (or she) annotates getters/setters, right?

That's not correct.Only getters can be annotated.



Durai, you are right. I did not choose the exact term while explaining that. For property based access, annotating setters will not help.
 
 
subject: The difference between field-based access and property-based access
 
Threads others viewed
Enthuware question com.enthuware.ets.scbcd.v5.2.79
Using Properties instead of HashMap when dealing with Strings
Answers of Sun's Free Proficiency Assessment
different betwenn property based and field based persistance
Annotations on instance declaration or get method using JPA in entities?
WebSphere development made easy
without the weight of IBM tools
http://www.myeclipseide.com