Hai JPA cụ thể tôi suy nghĩ:
EntityManager không đảm bảo được threadsafe bởi spec JPA. Do đó, các ứng dụng JPA di động chỉ có thể sử dụng EM trong nhiều nhất một luồng tại một thời điểm. Thành ngữ của việc tạo ra một EM phương pháp cục bộ và đóng nó trước khi nó đi ra khỏi phạm vi khuyến khích ngăn xếp ngăn chặn các tham chiếu EM.
Một EM sử dụng "Extended" Persistence Context Lifetime duy trì một bối cảnh kiên trì duy nhất cho toàn bộ sự tồn tại của nó. Điều này có nghĩa là các thực thể dừng tự động tách ra trên commit()
. Thay vào đó, chúng phải được tách ra bằng tay, nếu không EM sẽ chịu trách nhiệm theo dõi chúng.
Câu hỏi này thực sự là phiên bản JPA dành riêng cho câu hỏi "khi tới hồ bơi". Đó là một khó khăn, nhưng câu trả lời có lẽ là "hiếm khi".
Điều này old developerWorks post bởi chuyên gia đồng thời Java Brian Goetz đã nêu rõ điểm. Ý chính: các hồ bơi có ý nghĩa tuyệt vời cho các đối tượng tốn kém, như các kết nối cơ sở dữ liệu. Nhưng đối với các đối tượng khởi tạo ngắn, nhỏ và nhanh chóng như EntityManager, gộp chung hoặc một số hình thức giữ chân tham chiếu dài hạn khác là việc bán khó khăn.
Nhưng, đó là một câu hỏi chung, do đó có ràng buộc là ngoại lệ. Có lẽ ứng dụng đơn giản hoặc đơn giản. Sau đó, những mối quan tâm về chủ đề an toàn trở thành tranh luận.
Nguồn
2010-08-03 05:42:50