Object là nhưLấy một cấu trúc đồ thị trong Hibernate
- Invoice này
- khách hàng
- ngày
- Số
- có nhiều ProductLines (sản phẩm, Số lượng, Giá)
- có nhiều ServiceLines (Dịch vụ, Số lượng, Giá)
- có nhiều PaymentOptions (PaymentType (Kiểm tra, Tiếp nhận, vv.), Date, Sum)
Nếu tôi cần phải lấy một danh sách các hoá đơn có thời hạn với Hibernate là rất dễ dàng để làm với lười biếng tải mà không cần viết bất kỳ mã nào chỉ cần gọi ... NHƯNG có nhược điểm của quá nhiều cuộc gọi DB, vì vậy trong môi trường đa người dùng, giải pháp này không ổn.
Với JDBC đơn giản, tôi đã giải quyết vấn đề này bằng cách sử dụng 3 truy vấn: 3 tham gia giữa Invoice và ProductLines, Invoice and ServiceLines và Invoice and Payment Options. Sau đó tôi xây dựng đối tượng trong bộ nhớ. Tương tự có thể được thực hiện với Hibernate Tôi biết NHƯNG câu hỏi của tôi là không có thứ như đồ thị tải hoặc vì vậy tôi có thể chuyển danh sách hóa đơn và số lượng cuộc gọi tối thiểu (số tối ưu) để truy xuất dữ liệu?
Có giải quyết vấn đề trong một truy vấn. Hạn chế duy nhất là sản phẩm Descartes của tất cả các bảng này có thể rất lớn không? – Cris
Thật vậy. Tuy nhiên, với phương pháp này bạn luôn có thể chọn các liên kết để tìm nạp ngay lập tức và tải nào một cách lười biếng.Sau đó, bạn có thể sử dụng kích thước hàng loạt, như Simon đề xuất, để tăng tốc độ tìm nạp cho những người lười biếng. –
+1 cho ví dụ mà tôi đã thêm vào câu trả lời của mình. –