obj.getLineItems() returnerar en uppsättning fristående instanser (de är inte associerade med den aktuella vilolägessessionen). Det enklaste sättet att lösa problemet är att slå samman Purchase innan transaktionen utförs:
purchase = session.merge(purchase);
På detta sätt kommer sammanslagningsoperationen att kaskadkopplas till den associerade LineCommand instanser.