MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

TransactionRequiredException Thực hiện truy vấn cập nhật / xóa

Tuy nhiên, tôi không chắc liệu điều này có giúp ích cho tình huống của bạn hay không (nghĩa là nó vẫn tồn tại), sau khi tìm kiếm vấn đề tương tự trên web.

Tôi đang tạo một truy vấn gốc từ EntityManager kiên trì để thực hiện cập nhật.

Query query = entityManager.createNativeQuery(queryString);

Tôi đã nhận được lỗi sau:

gây ra bởi:javax.persistence.TransactionRequiredException:Thực thi truy vấn cập nhật / xóa

Nhiều giải pháp đề xuất thêm @Transactional vào phương thức của bạn. Chỉ cần thực hiện việc này đã không thay đổi được lỗi.

Một số giải pháp đề xuất yêu cầu EntityManager cho một EntityTransaction để bạn có thể gọi bắt đầu và tự cam kết. Điều này gây ra một lỗi khác:

do:java.lang gây ra.

Sau đó, tôi đã thử một phương pháp mà hầu hết các trang web nói là để sử dụng các trình quản lý thực thể được quản lý ứng dụng và không được quản lý vùng chứa (mà tôi tin là Spring) và đó là joinTransaction() .

@Transactional trang trí phương thức và sau đó gọi joinTransaction() trên đối tượng EntityManager ngay trước khi gọi query.executeUpdate() và cập nhật truy vấn gốc của tôi đã hoạt động.

Tôi hy vọng điều này sẽ giúp những người khác đang gặp sự cố này.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. lưu địa chỉ IP trong mongoDB

  2. Làm thế nào để loại bỏ một cơ sở dữ liệu với Mongoose?

  3. Nối một chuỗi và một số trong SQL

  4. mongoexport E QUERY Cú pháp Lỗi:Số nhận dạng không mong muốn

  5. Mongodb tìm bên trong mảng phụ