Specyfikacja JPA nie gwarantuje, że podany obiekt encji zostanie zaktualizowany po zapisaniu. Aby uzyskać zapisaną encję JPA, musisz użyć wartości zwracanej przez save()
metoda. Na przykład Twoja usługa może zostać zmieniona w ten sposób:
@Service
public class ClaimDetailService {
...
@Transactional
public ClaimDetail saveClaimDetail(ClaimDetail claimDetail) {
JpaRepository<ClaimDetail, Long> mailAuditLogLongJpaRepository = jpaRepositoryFactory.getRepository(ClaimDetail.class);
return mailAuditLogLongJpaRepository.save(claimDetail);
}
...
}
Twój przykładowy kod to:
claimDetail.setActive(1);
claimDetail.setVersion(new Long(1));
claimDetail.setCreatedBy(new Long(1));
claimDetail.setCreatedDate(new Date());
ClaimDetail savedClaimDetail = claimDetailService.saveClaimDetail(claimDetail);
int temp = savedClaimDetail.getID()
Ponadto, chociaż nie jest to bezpośrednio związane z Twoim problemem, nie musisz tworzyć repozytoriów Spring Data w taki sposób, w jaki to zrobiłeś. Po prostu stwórz swój własny interfejs rozszerzający JPARepository.