added a comment - - edited
Requirements for batching of eager loads:
1. Since we are using an IN() query for this we can only support this feature for entities that have a single column primary key.
2. If we want to support composite keys we need to build it as WHERE ( (id1 = ? AND id2 = ?) OR (id1 = ? AND id2 = ?)) but this is currently not possible with the way how internally the $criteria array is used.
Next item to think about: What if an exception or event breaks the flow and "triggerEagerLoads()" is never called?