Thông số JPA không đảm bảo rằng đối tượng thực thể đã cung cấp sẽ được cập nhật sau khi lưu nó. Để có được thực thể JPA đã lưu, bạn phải sử dụng giá trị trả về của save()
phương pháp. Ví dụ:dịch vụ của bạn có thể được thay đổi theo cách này:
@Service
public class ClaimDetailService {
...
@Transactional
public ClaimDetail saveClaimDetail(ClaimDetail claimDetail) {
JpaRepository<ClaimDetail, Long> mailAuditLogLongJpaRepository = jpaRepositoryFactory.getRepository(ClaimDetail.class);
return mailAuditLogLongJpaRepository.save(claimDetail);
}
...
}
Và mã mẫu của bạn sẽ là:
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()
Ngoài ra, mặc dù không liên quan trực tiếp đến vấn đề của bạn, nhưng bạn không cần tạo kho lưu trữ Dữ liệu mùa xuân theo cách bạn đã làm. Chỉ cần tạo giao diện của riêng bạn mở rộng JPARepository.