La spécification JPA ne garantit pas que l'objet d'entité fourni sera mis à jour après l'avoir enregistré. Pour obtenir l'entité JPA enregistrée, vous devez utiliser la valeur de retour du save()
méthode. Par exemple, votre service pourrait être modifié de la manière suivante :
@Service
public class ClaimDetailService {
...
@Transactional
public ClaimDetail saveClaimDetail(ClaimDetail claimDetail) {
JpaRepository<ClaimDetail, Long> mailAuditLogLongJpaRepository = jpaRepositoryFactory.getRepository(ClaimDetail.class);
return mailAuditLogLongJpaRepository.save(claimDetail);
}
...
}
Et votre exemple de code serait :
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()
De plus, bien que cela ne soit pas directement lié à votre problème, vous n'avez pas besoin de créer les référentiels Spring Data comme vous l'avez fait. Créez simplement votre propre interface étendant JPARepository.