Die JPA-Spezifikation garantiert nicht, dass das bereitgestellte Entitätsobjekt nach dem Speichern aktualisiert wird. Um die gespeicherte JPA-Entität zu erhalten, müssen Sie den Rückgabewert von save()
verwenden Methode. Ihr Dienst könnte beispielsweise folgendermaßen geändert werden:
@Service
public class ClaimDetailService {
...
@Transactional
public ClaimDetail saveClaimDetail(ClaimDetail claimDetail) {
JpaRepository<ClaimDetail, Long> mailAuditLogLongJpaRepository = jpaRepositoryFactory.getRepository(ClaimDetail.class);
return mailAuditLogLongJpaRepository.save(claimDetail);
}
...
}
Und Ihr Beispielcode wä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()
Auch wenn dies nicht direkt mit Ihrem Problem zusammenhängt, müssen Sie die Spring Data-Repositorys nicht so erstellen, wie Sie es getan haben. Erstellen Sie einfach Ihre eigene Schnittstelle, die JPARepository erweitert.