Specifikace JPA nezaručuje, že poskytnutý objekt entity bude po uložení aktualizován. Chcete-li získat uloženou entitu JPA, musíte použít návratovou hodnotu save()
metoda. Vaši službu lze změnit například takto:
@Service
public class ClaimDetailService {
...
@Transactional
public ClaimDetail saveClaimDetail(ClaimDetail claimDetail) {
JpaRepository<ClaimDetail, Long> mailAuditLogLongJpaRepository = jpaRepositoryFactory.getRepository(ClaimDetail.class);
return mailAuditLogLongJpaRepository.save(claimDetail);
}
...
}
A váš ukázkový kód by byl:
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()
Také, i když to přímo nesouvisí s vaším problémem, nemusíte vytvářet úložiště Spring Data tak, jak jste to udělali. Stačí si vytvořit své vlastní rozhraní rozšiřující JPARepository.