Спецификацията на JPA не гарантира, че предоставеният обект ще бъде актуализиран след запазването му. За да получите запазения JPA обект, трябва да използвате връщаната стойност на save()
метод. Например вашата услуга може да бъде променена по следния начин:
@Service
public class ClaimDetailService {
...
@Transactional
public ClaimDetail saveClaimDetail(ClaimDetail claimDetail) {
JpaRepository<ClaimDetail, Long> mailAuditLogLongJpaRepository = jpaRepositoryFactory.getRepository(ClaimDetail.class);
return mailAuditLogLongJpaRepository.save(claimDetail);
}
...
}
И примерният ви код ще бъде:
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()
Освен това, въпреки че не е пряко свързано с вашия проблем, не е необходимо да създавате хранилища на Spring Data по начина, по който сте го направили. Просто създайте свой собствен интерфейс, разширяващ JPARepository.