Выполнить более одного SQL-запроса в MariaDB - PullRequest
0 голосов
/ 16 декабря 2018

У меня проблема с MariaDB, когда я выполняю несколько вызовов API api:

17:05:53,188 ERROR [org.springframework.boot.web.servlet.support.ErrorPageFilter] (default task-1) Forwarding to error page from request [/processinglogs] due to exception [null]: java.lang.NullPointerException
    at deployment.datalis_admin.war//org.hibernate.event.internal.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:147)
    at deployment.datalis_admin.war//org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:83)
    at deployment.datalis_admin.war//org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:44)
    at deployment.datalis_admin.war//org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1415)
    at deployment.datalis_admin.war//org.hibernate.internal.SessionImpl.list(SessionImpl.java:1501)
    at deployment.datalis_admin.war//org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1537)
    at deployment.datalis_admin.war//org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1505)
    at deployment.datalis_admin.war//org.hibernate.query.Query.getResultList(Query.java:135)
    at deployment.datalis_admin.war//org.datalis.admin.backend.repo.ProcessingLogsRepositoryImpl.findAll(ProcessingLogsRepositoryImpl.java:111)
    at deployment.datalis_admin.war//org.datalis.admin.backend.repo.ProcessingLogsRepositoryImpl$$FastClassBySpringCGLIB$$5da64ca3.invoke(<generated>)
    at deployment.datalis_admin.war//org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)

Я получаю NPE в этой строке:

@Override
    public List<ProcessingLogs> findAll(Specification<ProcessingLogs> spec) {
        String hql = "select e from " + ProcessingLogs.class.getName() + " e";
        TypedQuery<ProcessingLogs> query = entityManager.createQuery(hql, ProcessingLogs.class);
        List<ProcessingLogs> processinglogs = query.getResultList();
        return processinglogs;
    }

Я использую последнюю версию MariDB наСервер Ubuntu без каких-либо дополнительных настроек конфигурации.Знаете ли вы, мне нужно увеличить некоторые ограничения, чтобы это исправить?

Полный журнал https://pastebin.com/a5HKqSkQ

1 Ответ

0 голосов
/ 17 декабря 2018

Я решил проблему с помощью этой конфигурации:

@Configuration
@EnableTransactionManagement
public class ContextDatasource {

    @Bean
    public EntityManager entityManager(EntityManagerFactory emf) {
        return emf.createEntityManager();
    }

    @Bean
    public PlatformTransactionManager transactionManager(final EntityManagerFactory emf) {
        final JpaTransactionManager transactionManager = new JpaTransactionManager();
        transactionManager.setEntityManagerFactory(emf);
        return transactionManager;
    }

    @Bean
    public PersistenceExceptionTranslationPostProcessor exceptionTranslation() {
        return new PersistenceExceptionTranslationPostProcessor();
    }
}
...