Chỉ cần tự hỏi nếu bắt đầu một giao dịch mới trong Hibernate thực sự phân bổ một kết nối đến DB?Có startTransaction trong Hibernate phân bổ một kết nối DB mới?
Tôi lo ngại b/c máy chủ của chúng tôi bắt đầu một giao dịch mới cho mỗi yêu cầu nhận được, ngay cả khi yêu cầu đó không tương tác với DB. Chúng tôi đang nhìn thấy các kết nối DB như một nút cổ chai lớn, vì vậy tôi tự hỏi nếu tôi nên dành thời gian thu hẹp phạm vi giao dịch của tôi.
Tìm kiếm ở khắp mọi nơi và không thể tìm thấy câu trả lời hay. Mã rất đơn giản là ở đây:
SessionFactory sessionFactory = (SessionFactory) Context.getContext().getBean("sessionFactory");
sessionFactory.getCurrentSession().beginTransaction();
sessionFactory.getCurrentSession().setFlushMode(FlushMode.AUTO);
cảm ơn rất nhiều! một
Cảm ơn, chúng tôi đang sử dụng hồ bơi kết nối. Bằng cách không bắt đầu một giao dịch theo mặc định, chúng tôi đã có thể giảm tải một cách ồ ạt trên cơ sở dữ liệu của chúng tôi. – illscience
Trên thực tế, kết nối được tải trong một phiên 'lười biếng '. Xem câu trả lời của tôi để biết chi tiết. –
@Pascal Thivent hm, thú vị và hợp lý :) @illscience vui lòng thay đổi câu trả lời được chấp nhận – Bozho