Spesifikasi JPA tidak menjamin bahwa objek entitas yang disediakan akan diperbarui setelah menyimpannya. Untuk mendapatkan entitas JPA yang disimpan, Anda harus menggunakan nilai kembalian save()
metode. Misalnya, layanan Anda dapat diubah dengan cara ini:
@Service
public class ClaimDetailService {
...
@Transactional
public ClaimDetail saveClaimDetail(ClaimDetail claimDetail) {
JpaRepository<ClaimDetail, Long> mailAuditLogLongJpaRepository = jpaRepositoryFactory.getRepository(ClaimDetail.class);
return mailAuditLogLongJpaRepository.save(claimDetail);
}
...
}
Dan kode sampel Anda adalah:
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()
Juga, meskipun tidak terkait langsung dengan masalah Anda, Anda tidak perlu membuat repositori Spring Data seperti yang Anda lakukan. Cukup buat antarmuka Anda sendiri dengan memperluas JPARepository.