The SDO cache feature has been designed to be transparent to the end user while providing fast access to reference data. Data object getObjectByKey() calls participate in the SDO cache whenever appropriate if the SDO cache feature is activated for the data object.
The SDO cache setup ensures that every row accessed is first checked for in the cache. If it is not found, the row is retrieved from the database and added to the cache. Future requests for that row are serviced from the memory cache instead of an expensive database call. This is especially useful for read-only tables. Transaction processing tables with insert/update/delete requests are not viable candidates for SDO caching.
It is important that the system administrator be aware of the restriction of insert, update, and delete actions when setting up a data object to participate in the SDO cache. Inserts, updates and deletes are not allowed by any application code that interacts with an object if the data object is designated to be included in the SDO cache. A Server Exception is thrown with the appropriate error message whenever any insert/update/delete attempt is made. This is normally not an issue for the system administrator because the cached data objects most likely reference data that is infrequently, if ever, updated. If an update is required at some point in time, the data object setup must change to take the object out of the SDO cache for that period to allow the update.
Refer to the following topics for additional information on SDO setup and usage: