obj.getLineItems() zwraca zestaw odłączonych instancji (nie są one powiązane z bieżącą sesją Hibernate). Najłatwiejszym sposobem rozwiązania tego problemu jest połączenie Purchase przed dokonaniem transakcji:
purchase = session.merge(purchase);
W ten sposób operacja scalania zostanie przekazana kaskadowo do powiązanego LineCommand instancje.