Tôi có số EntityManagerFactory
để tôi có thể tạo một (hoặc nhiều) EntityManager
trường hợp. Tôi đang sử dụng một môi trường Servlet, và tôi đã có một EntityManagerFactory có dây tới servlet (thông qua ngữ cảnh servlet) được chia sẻ cho toàn bộ thời gian của servlet (và do đó, đối với tất cả người dùng).Tôi nên tạo EntityManager bao lâu một lần?
tôi có thể làm một trong các cách sau:
- Tạo một EntityManager duy nhất cho cuộc đời của servlet của tôi (ví dụ như chia sẻ giữa tất cả người dùng)
- Tạo một tài khoản cho mỗi người dùng (do đó mỗi người dùng riêng của họ trong HttpSession)
- Tạo một tài khoản theo yêu cầu HTTP (nói, bởi instantiating một cái mới và đóng lại ở phần cuối của một phương pháp
doGet
)
nào là thích hợp nhất? Chi phí tạo ra một EntityManager có ý nghĩa không? Nếu tôi thực hiện một EntityManager được chia sẻ, có một phạm vi giao dịch đơn lẻ (tức là các cập nhật giữa người dùng độc lập có thể thực hiện các thay đổi khác) không?
Đồng ý. Tôi hoàn toàn đề nghị bạn sử dụng một khung công tác tích hợp như EJB 3 hoặc khung công tác Spring sẽ loại bỏ gánh nặng của quản lý EntityManager. –