I do not yet understand conversations, hence the following question.
If I can keep multiple long-running components in the conversation context and a number of these components use the same EJB3 entity class whose instances must also be stored in the conversation context, will the instances of the entity class over-write each other unless I use @Roles on the entity class?
Depends whether you make the entity class a Seam component or not. If you do, yes, you should use @Roles. If not, you can simply put them in the conversation context with whatever name you like...