A method, system and apparatus for performing selective data processing
based upon a static analysis of the code of a compiled object. A compiled
object, for example an enterprise bean, can be analyzed to determine how
individual methods in the enterprise bean access specific objects. Those
specific objects can include, for instance, data members of a class, or
class objects passed into one or more individual methods of the
enterprise bean. Where the individual methods of the enterprise bean do
not mutate or otherwise change the state of the specific objects, those
objects can be accessed by reference only. Importantly, where the
specific objects are data fields linked to a table in a database as
managed by a container managed persistence (CMP) bean, an update to the
table will not be required when the static analysis of the enterprise
bean otherwise indicates that the data fields are merely accessed, but
not updated.