Norwaywoods, sir (or madam), thank you, thank you, and thank you for pointing me to the right path. I would never have guessed that the culprit was EclipseLink. I had perused the the JPA, JABX specs and the glassfish Developer's Guide but to no avail. But little did I know that the little bugger (pardon my French) was EclipseLink weaving and all that.
Reading about EclipseLink on the Eclipse's website, one detects an overkill for a DAO—the various documentations are enough to start a volume One encyclopedia. I say, whatever happened to the good old JDBC?
Yes the problem was caused by EclipseLink 'weaved' JPA Entities, and disabling the weaving in the persistence.xml solves the problem:
<persistence>
...
<properties>
<property name="eclipselink.weaving" value="false" ></properties>
OR [In my case]
<property name="eclipselink.weaving.changetracking" value="false" ></properties>
...
</persistence>
Of course you wouldn't encounter this problem if you are not using weaving. In my case I was using:
'_at_org.eclipse.persistence.annotations.ChangeTracking( org.eclipse.persistence.annotations.ChangeTrackingType.ATTRIBUTE)'
Here is additional info on weaving:
http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_(ELUG)#How_to_Disable_Weaving_Using_EclipseLink_Persistence_Unit_Properties
Nuff Said!
[Message sent by forum member 'nuffsaidx' (nuffsaidx)]
http://forums.java.net/jive/thread.jspa?messageID=322775