I have one field outjected by @DataModel annotation on SFSB on a long conversation. This field is a List of Entity Beans (query populated). When user click to add, I put a new instance on list and outject this instance for editing. On save action, I persist this instance and query again, but the equals/hash don't change because database id isn't relevant for equality. When user try edit this entry, save duplicate the entry (just in this case).
I figured out the problem is (from @DataModel JavaDoc):
(...) Note that the List, Map, Set or array will be re-wrapped and re-outjected each time the current component value is different to the value held by the context variable as determined by calling equals() on the underlying collection.
(...)
Contexts.getConversationContext().remove("myList"); //...