Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để lấy id sau khi đối tượng đã lưu trong db trong JPA?

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đếm tất cả các hàng với các cột cụ thể và nhóm theo tuần

  2. sử dụng trạng thái mysql LOAD trong PHP không thành công, nhưng thực hiện nó thông qua dòng lệnh hoạt động

  3. Làm thế nào để hiển thị các bản ghi theo chiều dọc trong dòng lệnh mysql?

  4. Sao chép các hàng từ bảng này sang bảng khác bằng cách sử dụng truy vấn CHÈN

  5. Tại sao lịch sự kiện mysql không hoạt động trong localhost cơ sở dữ liệu?