Problem polega na tym, że hibernacja próbuje zapisać obiekt relacji CellAtLocation przykład, podczas gdy obiekty potomne, Cell i/lub Location instancje nie są jeszcze utrwalone. Tak więc obiekty potomne nie mają generated id s powiązane z nimi i dlatego hibernacja nie może obliczyć dla nich skrótu.
Przed próbą zapisania CellAtLocation na przykład spróbuj najpierw zapisać obiekty potomne, wywołując saveOrUpdate metoda na nich.