sql >> Databasteknik >  >> RDS >> Oracle

session/entitymanager är stängd

Du får inte använda Session och Transaction som en klassmedlem i din dao så. Session/EntityManager antas omfattas av arbetsenhet, de är inte gängsäkra.

I ditt nuvarande tillstånd, eftersom Spring DI skapar bönor som singleton, om två trådar använder dao samtidigt kommer den andra att skriva över båda Session och Transaction medlemmar och det är därför jag antar att du får IllegalStateExcepion.

Du måste göra dem trådomfattade genom att antingen använda dem som variabler i metoder eller, om du inte behöver hibernates specifika metod, kan du välja en fullständig JPA-konfiguration under våren och använda @PersistenceContext/@PersistenceUnit att låta ramverket ta itu med den frågan.



  1. Oracle:Välj Från Record Datatype

  2. MySQL, ORDER BY insertion order, inga sorteringskolumner

  3. Parsar tnsnames.ora med hjälp av regex

  4. Hur gör man en utökad infogning med JDBC utan att bygga strängar?