Sorry, atm I can't contribute code. Think this is too complex for a side task. It needs more love than I can offer atm. I am currently evaluating Hibernate OGM for two start-up projects and a third project would be too much.