In a typical Spring MVC + Hibernate application, where should the database operations be placed?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "Repository/DAO class". Trong ứng dụng Spring MVC kết hợp Hibernate theo kiến trúc phân lớp, thao tác cơ sở dữ liệu đặt ở lớp Repository hay DAO (Data Access Object, đối tượng truy cập dữ liệu), đánh dấu @Repository; lớp này dùng Session của Hibernate, EntityManager hoặc Spring Data, và Spring tự dịch ngoại lệ của Hibernate sang DataAccessException. Service gọi repository, controller gọi service. "Controller class" chỉ nên nhận yêu cầu và chọn view; viết truy vấn ở đây trộn tầng web với tầng dữ liệu, khó kiểm thử và tái sử dụng. "HTML page" là tầng hiển thị chạy ở trình duyệt, không thể và không được chạm cơ sở dữ liệu. "JSP scriptlet" là mã Java nhúng trong JSP; về kỹ thuật chạy được JDBC nhưng là cách làm lỗi thời, phá vỡ việc tách lớp của MVC.

Cùng phần 7

Xuất hiện trong 1 bộ đề