Post-compilation enhancement vs Automatic Run-time enhancement

#1

We are getting massively different results on field loading between explicit post-compile enhancement and automatic run-time enhancement. Testing exactly where and when the results are different for our demo web app is a very time consuming task, and very difficult, it means testing literally 100s of user interfaces (noting we get different results OUTSIDE THE JAVA SERVER FACES BACKING BEAN LAYER depending on the enhancement stragegy).

Can you please explain how this could possibly be so ?

Why aren't the 2 enhancement techniques giving identical data access results ?

#2

There shouldn't be a difference between the two enhancement methods. Both are expected to apply exactly the same code modifications.

There may be a difference with the extent of enhanced code. Automatic on the fly runtime enhancement is applied only to entity classes, where post compilation enhancement may also enhance non entity classes. This may be relevant if you access persistent fields from non entity classes.

Could you please provide details on these differences?

ObjectDB Support
#3

An example of is now provided under forum posting: Pre-detach loading: retrieval by navigation not working in if statement

#4

Enhancement in both modes is based on exactly the same code. Obviously your experience demonstrates that there is a difference in some specific case. Maybe by comparing enhanced code (using the objectdb.code.output system property) we will be able to see the difference.

ObjectDB Support

Reply