Tôi đồng ý với @Timo. Chỉ có cái nhìn sâu sắc khác tôi sẽ thêm/mở rộng là ORM có ngữ nghĩa khác nhau từ truy cập sql thuần túy vào dữ liệu của bạn.
Điểm ORM là trừu tượng hóa thực tế là dữ liệu của bạn nằm trong một DB, càng nhiều càng tốt. Khi bạn sử dụng ORM đúng cách, tất cả các hoạt động liên tục được xử lý trong một lớp mỏng (hy vọng). Các đối tượng mô hình của bạn sẽ có ít hoặc không có mã kiên trì; thực tế là bạn đang sử dụng ORM nên ẩn với mô hình của bạn.
Vì lý do này, ORM rất tốt trong việc giúp cuộc sống của bạn trở nên dễ dàng đối với một số loại hoạt động nhất định, cụ thể là các hoạt động CRUD đơn giản. Bạn có thể tải các đối tượng mô hình của bạn, trình bày chúng, cập nhật chúng, xóa chúng khá dễ dàng. Nó làm cho cuộc sống của bạn dễ dàng hơn bởi vì khi bạn truy cập dữ liệu của mình, bạn sẽ lấy lại các đối tượng mô hình, trên đó bạn có thể viết logic nghiệp vụ. Nếu bạn sử dụng JDBC, bạn sẽ phải 'hydrate' đối tượng của bạn từ dữ liệu, có thể phức tạp và dễ bị lỗi.
ORM không phải lúc nào cũng là lựa chọn tốt nhất. JPA là một công cụ cho một công việc, nếu công cụ này không đủ cho công việc bạn sẽ muốn tìm một công cụ tốt hơn. Ví dụ, tôi đã có một kịch bản mà tôi đã phải sao chép toàn bộ đồ thị đối tượng và lưu một bản sao mới của các đối tượng đó. Nếu tôi đã sử dụng ORM (như tôi đã cố gắng làm), tôi phải tải tất cả các đối tượng ra khỏi DB, sau đó sao chép chúng, sau đó lưu các đối tượng mới. Tôi đã mất quá nhiều thời gian.
Giải pháp tốt hơn chỉ đơn giản là sử dụng các hoạt động dựa trên jdbc và 'chèn qua chọn' các cuộc gọi sql để tạo các hàng mới. Nó nhanh, mã đơn giản hơn.
Điều khác cần lưu ý là bạn cảm thấy thoải mái với JDBC và có thời hạn, bạn không cần phải nhảy vào băng tần ORM. Các lớp Spring JdbcTemplate cực kỳ mạnh mẽ và hữu ích. Đôi khi công cụ tốt nhất cho công việc là công cụ bạn biết. Bạn nên tự làm quen với ORM, nhưng không nhất thiết cho một dự án có kỳ vọng cao. Có rất nhiều thứ để tìm hiểu và nó không tầm thường - thực sự bạn đang giao dịch một bộ phức tạp với nhau trong sự lựa chọn để sử dụng jdbc vs orm.
Một yếu tố bổ sung mà bạn muốn xem xét là chuẩn hóa. –