Il problema è che l'ibernazione sta tentando di salvare l'oggetto della relazione, CellAtLocation ad esempio, mentre i bambini oggetti, Cell e/o Location le istanze non sono ancora persistenti. Pertanto, gli oggetti figli non hanno generated id s associati a loro e quindi l'ibernazione non possono calcolare l'hash per loro.
Prima di provare a salvare CellAtLocation esempio, prova prima a salvare gli oggetti figli chiamando saveOrUpdate metodo su di loro.