Hi,
We've used Cayenne extensively over the last 2 years - with great success on many projects. I'm in the process of designing & implementing a generic import/export feature for some of our projects - and its raising some difficult issues that I don't know how to resolve. We're currently using the 1.2 code base and generally use the database generated Primary Key option. The import/export raise challenges because its potentially dealing with very large amounts of data - and the hard part is that I need to "remap" the foreign key relationships as part of the process. We've though of several ways of doing this but they all involve being able to query objects that have not yet been written to the database. At the same time the import needs to happen as a "transaction" so that it can be rolled back if something fails. The main problem I'm facing is that objects don't get written to the database (nor Primary Keys generated) unless we commit our transaction. What I'm wishing for is a mode where all changes are made to the underlying database - but not committed until I have completed all the work I need to do. The central issue is that I need to be able to perform database queries on objects that are uncommitted (and part of my current transaction) - and I don't have a way to do this at present with Cayenne. The though of having to go back to JDBC for this is not attractive. The more I think about this - the more I wonder why the "write or save" function is not handled separately from a "commit". I'd be very interested if anyone has suggestions. Thanks Philip