i think navigating from entry may save some database queries if you are using OSWorkFlow more than once in a request. Also I have seen same query being fired multiple times within OSWorkflow itself. For example *findCurrentSteps* is called 3-4 times when you call *doAction*. if we implement this using entry then this would probably use only one SQL query.
we should have optimistic locking but i am not sure where can we put it. We do not seem to update anything only inserts and deletes ? am i right ? CuurentStep is deleted and moved to HistoryStep !
if you can have somehow manage to have the client application session used by the store without the interface then that should also be great.
I do not want a separate session factory just for this store. I am using the entry outside OSWorkFlow also. I have it linked to some other objects of the application. so need the entry object outside this store.