| 1. Session implementing CTC is a bit messy, IMO. Creating a separate object on session open would increase the number of objects allocated while CTC does not have to be used (especially if 2LC is off). The timestamp should be acquired before the data is loaded from DB (this may be later used for putFromLoad) - is there a good place to initialize it? If not, session open would be preferred. When the transaction is completed CTC does not change. The next non-transactional operation would use the same instance - do we want CTC tracking it's transaction state internally, or will we dispose the instance? (and get it to the same state as if Session was just open). 2. Having rather a structured object is a good idea - as long as it does not increase allocation rates (but that shouldn't be the case, all instances should be created on startup). |