Ошибка EntityManager и SessionHolder в SpringBoot Rest API

Результат df.groupby(...) не является DataFrame. Чтобы вернуть DataFrame, вам нужно применить функцию к каждой группе, преобразовать каждый элемент группы или фильтровать группы.

Кажется, что вам нужен DataFrame, содержащий (1) все ваши оригинальные данные в df и (2) подсчет количества данных в каждой группе. Эти вещи имеют разную длину, поэтому, если им нужно зайти в один и тот же DataFrame, вам нужно будет перечислять размер избыточно, т. Е. Для каждой строки в каждой группе.

df['size'] = df.groupby(['A','B']).transform(np.size)

(Кроме этого: это полезно, если вы можете показать сжатый ввод проб и ожидаемые результаты.)

1
задан Kshitiz Bathwal 6 March 2019 в 10:45
поделиться

1 ответ

Измените @SpringBootApplication на

@SpringBootApplication(exclude=HibernateJpaAutoConfiguration.class)

С выпуском Hibernate 5.2 SessionFactory расширяет интерфейс EntityManagerFactory. Это приводит к тому, что SessionFactory также является EntityManagerFactory.

В предыдущих выпусках hibernate это было не так.

Простое решение - понизить версию hibernate до версии < 5.2, поскольку не существует решения для Spring 5.0 (будет в Spring 5.1).


Вы можете обратиться к 1 2 для более подробной информации


РЕДАКТИРОВАТЬ:

Когда вы пишете exclude=HibernateJpaAutoConfiguration.class в результате

@SpringBootApplication

не будет рассматривать этот конкретный класс для дальнейшего выполнения. Как вы можете видеть на изображении HibernateJpaAutoConfiguration, уже реализованы некоторые классы (которые могут реализовывать другие), для которых вам не нужно ничего настраивать или упрощать использование, например, LocalContainerEntityManagerFactoryBean.class. Поскольку вы исключили класс, вы должны будете вручную делать то, что для вас HibernateJpaAutoConfiguration.class сделано.

enter image description here

0
ответ дан Patel Romil 6 March 2019 в 10:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: