sql >> Database >  >> RDS >> Oracle

sessie/entitymanager is gesloten

U mag de Sessie niet gebruiken en Transactie als een klaslid van je dao zo. Session/EntityManager worden verondersteld te worden ingedeeld per werkeenheid, ze zijn niet thread-safe.

In uw huidige staat, aangezien Spring DI bonen maakt als singleton, als twee threads de dao tegelijkertijd gebruiken, zal de tweede beide Sessie overschrijven. en Transactie leden en daarom neem ik aan dat je de IllegalStateExcepion krijgt.

Je moet ze thread-scoped maken door ze ofwel als variabelen in methoden te gebruiken of, als je de specifieke methode van hibernate niet nodig hebt, kun je in Spring voor een volledige JPA-configuratie gaan en @PersistenceContext/@PersistenceUnit om het raamwerk dat probleem te laten oplossen.



  1. in SQLite

  2. Parameteriseren van bestandsnaam in MYSQL LOAD DATA INFILE

  3. Hoe om te gaan met 1 niveau diepe nesting limiet in Oracle?

  4. GROUP BY-clausule met alias?