This issue maybe related to issue #110 (http://www.objectdb.com/database/issue/110). Because that issue has been closed as "fixed", I am reporting this new issue.
This is my class definition:
@Entity public abstract class Person { @OneToMany(fetch=FetchType.EAGER, cascade=CascadeType.ALL) private List<Address> addresses; public Person(){ addresses = new ArrayList<Address>(); } }
Two non-abstract classes (LegalPerson and NaturalPerson) are derived from this class.
If I load a NaturalPerson entity from the database, then add a new address to the object's "addresses" list and use EntityManager.merge(object) to persist it along with the new address, the database contains two new entries in the Address extent, i.e. there is a duplicate entity that is not related to any other entity in the database. In explorer I can see that the "detached" entity is created first (ID #... is 2 less than that of the entity related to the person's address list).
If I use "EntityManager.persist(object)" instead, only one Address entity is created (as expected).
Am I doing something wrong or is this still a bug of version 2.6.9_06 (embedded)?