JPA-specifikationen garanterer ikke, at det angivne enhedsobjekt vil blive opdateret efter at have gemt det. For at få den gemte JPA-entitet skal du bruge returværdien af save()
metode. For eksempel kan din tjeneste ændres på denne måde:
@Service
public class ClaimDetailService {
...
@Transactional
public ClaimDetail saveClaimDetail(ClaimDetail claimDetail) {
JpaRepository<ClaimDetail, Long> mailAuditLogLongJpaRepository = jpaRepositoryFactory.getRepository(ClaimDetail.class);
return mailAuditLogLongJpaRepository.save(claimDetail);
}
...
}
Og din eksempelkode ville være:
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()
Også selvom det ikke er direkte relateret til dit problem, behøver du ikke oprette Spring Data-lagrene, som du har gjort det. Bare opret din egen grænseflade, der udvider JPARepository.