I use Unit of work pattern to commit all new, dirty, deleted entities to the DB (using a db_mapper).
Example of entities are: Student and Class
So Student->registerDirty() will add this entity to the dirty pool that will be saved to the DB when commit() will be called.
My problem is that Student can also hold collection of classes (Student->getClasses) and I am not sure how to integrate this into the unit of work pattern so it will only commit the new, updated or deleted.
Can any one recommend me how to integrate this?