JPA-specifikationen garanterar inte att det angivna entitetsobjektet kommer att uppdateras efter att det har sparats. För att få den sparade JPA-enheten måste du använda returvärdet för save()
metod. Till exempel kan din tjänst ändras på detta sätt:
@Service
public class ClaimDetailService {
...
@Transactional
public ClaimDetail saveClaimDetail(ClaimDetail claimDetail) {
JpaRepository<ClaimDetail, Long> mailAuditLogLongJpaRepository = jpaRepositoryFactory.getRepository(ClaimDetail.class);
return mailAuditLogLongJpaRepository.save(claimDetail);
}
...
}
Och din exempelkod skulle vara:
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()
Även om det inte är direkt relaterat till ditt problem, behöver du inte skapa Spring Data-förråden som du har gjort det. Skapa bara ditt eget gränssnitt som utökar JPARepository.