Description
I'd like to suggest a central registry for peerImpl-objects which can be queried by the Persistent class it is responsible for. This would allow reusing and extending the peer objects dynamically as well as giving them some kind of life-cycle.
The main method would be similar to this:
public <T> BasePeerImpl<T> getPeerFor(Class<T> persistentClass) { return peerRegistry.get(persistentClass); }
I would also like to suggest moving the buildCriteria(obj) method to the RecordMapper or the TableMap class. This will further reduce the amount of code that needs to be generated.
If the idea is received well, I'll come up with a proposal.