for point 1, if we have a list then we can get the steps in the order in which they were executed. Using a bag with order-by should solve this problem. I think the retrieving the steps in order might be important for some applications. so bag or list both should be ok. but using a bag would need changes to the database schema ?
for 2, yes, having a version number on WorkflowEntry should be great. I am having some problems using entry as the entry point for everything. These problems are most likely due to hibernate "write behind". May have to flush the session manually.