I would also greatly appreciate a feature in TopLink that would clean up/prune the ChangeSets after a EntityManager.flush() is performed. In my application semantics a large number of objects must be created in one transaction. I have to perform a flush operation during that process several times to get reasonably progress information/timing behavior. Opposing to what one could assume, that calling a flush writes all pending changes, clearing the "changes buffer", it does not reduce the memory consumption it actually increases it extremely. When I perform no flush the memory consumption drastically reduces, but I have no information about progress, since all is happening on transaction commit.
Regards
Heiko
[Message sent by forum member 'hewagn00' (hewagn00)]
http://forums.java.net/jive/thread.jspa?messageID=235228