Tôi có một câu lệnh SQL mà tôi mong đợi sẽ trả về một hàng, bởi vì tôi đang chuyển khóa chính. Vì vậy, lựa chọn của tôi là đểTôi có nên bắt EmptyResultDataAccessException không?
- Bó queryForObject trong một try/catch, bắt EmptyResultDataAccessException, và trở về vô
- Thay đổi cuộc gọi đến queryForList và unwrap Danh mục và (hy vọng) trả lại 1 hoặc null.
Tôi đã đọc một nơi nào đó là cathing là EmptyResultDataAccessException, vì nó mở rộng ngoại lệ thời gian chạy, là một thực hành không tốt.
Nhưng tôi không thể thấy bất kỳ điều gì sai trái với nó.
Tôi muốn nghe ý kiến
Nếu bạn đang chuyển một khóa chính thì làm thế nào nó trở lại trống? –
Vâng, nó không phải, và nó không bao giờ nên làm như vậy. "Nên" là từ khóa ở đây. – EdgeCase