Как обновить сущность из потока в Dropwizard, Hibernate - PullRequest
1 голос
/ 06 апреля 2019

У меня есть поток, который ждет, пока процесс не завершится, и затем должен обновить сущность. Но я получаю

Исключение в потоке "Thread-22" org.hibernate.HibernateException: ни один сеанс в настоящее время не привязан к контексту выполнения

Я попытался открыть новый сеанс (см. Код ниже). Управление сессиями обычно обрабатывается @UnitOfWork, но эта аннотация, похоже, применяется только к ресурсам.

public class ConfigDAO extends AbstractDAO<Config>
{
    private final SessionFactory sessionFactory;

    public ConfigDAO(SessionFactory factory) {
        super(factory);
        this.sessionFactory = factory;
    }

    public Config updateFromNewSession(Config config) {
        System.out.print("current session: ");
        Session session = sessionFactory.openSession();
        System.out.println(session);
        session.persist(config);
        session.close();
        return config;
    }
...