A especificação JPA não garante que o objeto de entidade fornecido será atualizado após salvá-lo. Para obter a entidade JPA salva, você deve usar o valor de retorno do
save()
método. Por exemplo, seu serviço pode ser alterado desta forma:@Service
public class ClaimDetailService {
...
@Transactional
public ClaimDetail saveClaimDetail(ClaimDetail claimDetail) {
JpaRepository<ClaimDetail, Long> mailAuditLogLongJpaRepository = jpaRepositoryFactory.getRepository(ClaimDetail.class);
return mailAuditLogLongJpaRepository.save(claimDetail);
}
...
}
E seu código de exemplo seria:
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()
Além disso, embora não esteja diretamente relacionado ao seu problema, você não precisa criar os repositórios Spring Data da maneira que fez. Basta criar sua própria interface estendendo o JPARepository.