Bài 12: Phân biệt load() và get() trong Hibernate

Để Phân biệt load()get() trong Hibernate trước hết ta cần chỉ ra điểm giống và khác nhau giữa hai phương thức trên.

Cả hai phương thức load()get() trong Hibernate đều dựa vào id để tìm kiếm đối tượng và kết quả đương nhiên sẽ trả về một đối tượng. Sự khác giữa hai phương thức load()get() là nếu id của đối tượng không tồn tại thì phương thức load() sẽ đưa ra một ngoại (exception) còn get() sẽ trả về null.

Lưu ý chỉ sử dụng phương thức load() khi chắc chắn id cú đối tượng đã tồn tại, ngược lại thì sử dụng phương thức get().

Bây giờ  để hiểu rõ hơn về  hai phương thức load()get() trong Hibernate mời  các bạn đến với  phần ví dụ

1.Sử  dụng phương thức load()  trong Hibernate.

Bây giờ mình có một một cơ sở dữ liệu như sau:

kenhlaptrinh-phan-biet-load-va-get-trong-hibernate (1)

Trong phương thức loadUser() mình sẽ thực hiện load một User với id = 3

Kết quả khi chạy đoạn code trên như sau:

kenhlaptrinh-phan-biet-load-va-get-trong-hibernate (2)

Với id = 3 chương trình đưa ra exception như hình trên do không có User nào phù hợp. Tiếp theo ta chạy chương trình với id = 2 các bạn xem kết quả ra sau nhé.

kenhlaptrinh-phan-biet-load-va-get-trong-hibernate (3)

Với hai trường hợp khi sử dụng phương thức load() trong Hibernate ở trên ta rút ra kết luận là khi chắc hắn id của đối tượng tồn tại thì sử dụng phương thức load().

2.Sử dụng phương thức get() trong Hibernate.

Cũng với cơ sở dữ liệu như trên mình sẽ thực hiện phương thức get() với id = 3.

Kết quả khi chạy đoạn code trên như sau:

kenhlaptrinh-phan-biet-load-va-get-trong-hibernate (4)

Khi sử dụng phương thức get() với id cửa đối tượng không tồn tại dưới cơ sở dữ liệu sẽ trả về kết quả là null chứ không đưa ra ngoại lệ (exception) như phương thức load().

Và đây là kết quả khi id = 2

kenhlaptrinh-phan-biet-load-va-get-trong-hibernate (5)

Phương thức load() và get() trong Hibernate được sử dụng để tìm một đối tượng khi biết được id của đối tượng. Khuyên dùng phương thức get() để tìm kiếm một đối tượng.

Download source code bài viết bên dưới.

Download link Google Drive

Download link Vipshare

Download link Mshare

(Tác giả: Công Minh)

Bình luận

Loading...