IntelliJ open source
[Logo] JavaRanch » JavaRanch Saloon
  Search | FAQ | Recent Topics | Hot Topics
Register / Login


Reply Bookmark it! Watch this topic JavaRanch » Forums » Professional Certification » EJB Certification (SCBCD)
 
RSS feed
 
New topic
Author

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

Alexey Saenko
Greenhorn

Joined: Aug 18, 2008
Messages: 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
Bartender

Joined: Jul 20, 2005
Messages: 4685

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
Alexey Saenko
Greenhorn

Joined: Aug 18, 2008
Messages: 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?

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

Joined: Jul 20, 2005
Messages: 4685

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.

My Blog
Durai Kalairajan
Greenhorn

Joined: Jan 29, 2010
Messages: 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

Jothi Shankar Kumar
Ranch Hand

Joined: Sep 26, 2006
Messages: 7087

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
Bartender

Joined: Jul 20, 2005
Messages: 4685

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.

My Blog
 
jQuery in Action
 
 
Reply Bookmark it! Watch this topic JavaRanch » Forums » Professional Certification » EJB Certification (SCBCD)
 
RSS feed
 
New topic
The most intelligent Java IDE