Oracle
 sql >> база данни >  >> RDS >> Oracle

session/entitymanager е затворен

Не трябва да използвате Session и Transaction като член на класа на вашето дао като този. Session/EntityManager предполага се, че са обхванати от единица работа, те не са безопасни за нишки.

В текущото ви състояние, тъй като Spring DI създава бобове като сингълтън, ако две нишки използват dao едновременно, втората ще презапише и двете Session и Transaction членове, поради което предполагам, че получавате IllegalStateException.

Трябва да ги направите с обхват на нишка, като ги използвате като променливи в методи или, ако не се нуждаете от специфичния метод на hibernate, можете да изберете пълна JPA конфигурация през пролетта и да използвате @PersistenceContext/@PersistenceUnit за да позволи на рамката да се справи с този проблем.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-22054 Грешка при препълване

  2. ЛИМИТ ЗА ГРУПОВО СЪБИРАНЕ в ИЗПЪЛНЕНИЕ НЕЗАБАВНО

  3. Използване на CONTINUE In Loops за възобновяване на контрола в Oracle

  4. Показване на LISTAGG стойности в клетка въз основа на стойността на друга колона

  5. 7 начина да проверите вашата версия на Oracle