I have run into a business requirement that needs selectively reinforce the entity bean versioning:
Case 1: reinforce versioning for one client but not the other
For example, an entity bean state is automatically updated from one highest authoritative client (A). At the mean time, the other client (B), a real user, is trying to modify the bean state and update it. For this contention, we will like to have client A never need to resolve/see the stale object exception. Is it possible? I could have A always retry when gets teh stale object exception. Thought may have better way.
Case 2: Can we have only certain fields to be versioned?
Back to case 1 example, where client A only modify certain fields, that are known to be irrelevent to client B. In this case, client B (user) will not like to see staled object and to resolve the conflict. I think I could separate the attributes into different table, table-A with data that doesn't affect client B and table-B that does, so that the versioning on table-A will not affect the version that client B is working on. However, this does affect our schema design and object design. Any alternative?