Комплексные запросы Activiti + JPA

Мы пытаемся использовать Activiti в новом проекте. Я создал установку, которая использует Hibernate через JPA для сохранения сущностей, участвующих в процессе, и JPA взаимосвязана с Activiti, поэтому мы можем использовать эти сущности в качестве переменных JPA. Смотрите: JPA глава документации Activiti

Я обнаружил, что Activiti не позволяет мне создавать запросы к процессам, которые включают переменные JPA, где я хотел бы фильтровать поля сущностей JPA. Например, если у меня есть процессы с переменной, ссылающейся на сущности Book, я не могу создать запрос для процессов, у которых есть книга с определенным названием.

Какой лучший способ преодолеть это? Я думаю о том, чтобы запросить объекты по отдельности с помощью Hibernate, а затем выполнить второй запрос на Activiti, чтобы задействовать процессы, однако, боюсь, это будет медленным. Кроме того, если я делаю это наоборот (сначала запрашиваю процессы, а затем выполняю второй запрос с Hibernate для сущностей), Activiti выполняет бесполезное заполнение переменных JPA, и я не могу узнать, как получить только идентификатор сущности. который сохранен в таблицу переменных Activiti моей базы данных.

2 ответа

Решение

Я реализовал свое решение, описанное в комментариях к вопросам. У меня пока нет большого набора данных для тестирования производительности, но это кажется приемлемым.

Как насчет использования идентификатора вашей организации в качестве businessKey вашего процесса?

Затем вы можете сделать запрос к вашим сущностям (Книги с определенными заголовками), а затем использовать его для получения ваших процессов в Activiti.

Другие вопросы по тегам