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: 6564

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: 6564

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: 8446

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: 6564

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
 
MyEclipse, The Clear Choice