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