Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

session / entitymanager đã bị đóng

Bạn không được sử dụng SessionTransaction như một thành viên trong lớp của bạn dao như vậy. Session/EntityManager được cho là có phạm vi theo đơn vị công việc, chúng không an toàn theo chủ đề.

Ở trạng thái hiện tại của bạn, vì Spring DI tạo bean dưới dạng singleton, nếu hai luồng sử dụng dao cùng lúc thì luồng thứ hai sẽ ghi đè cả hai SessionTransaction đó là lý do tại sao tôi cho rằng bạn nhận được IllegalStateExcepion.

Bạn phải tạo phạm vi chuỗi cho chúng bằng cách sử dụng chúng làm biến trong các phương thức hoặc, nếu bạn không cần phương thức cụ thể của hibernate, bạn có thể tạo cấu hình JPA đầy đủ trong Spring và sử dụng @PersistenceContext/@PersistenceUnit để cho phép khuôn khổ giải quyết vấn đề đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thay đổi truy vấn này thành nhóm các hàng và lọc ra tất cả các hàng ngoài hàng có giá trị nhỏ nhất

  2. Làm thế nào để tránh lưu trữ thông tin đăng nhập để kết nối với Oracle bằng JDBC?

  3. Chèn blob trong cơ sở dữ liệu oracle với C #

  4. Sự khác biệt giữa MySQL và Oracle DB

  5. Gói cx_Oracle Không hoạt động bên trong Crontab