5

我们正在尝试在一个新项目中使用 Activiti。我创建了一个设置,它通过 JPA 使用 Hibernate 来持久化进程中涉及的实体,并且 JPA 与 Activiti 互连,因此我们可以将这些实体用作 JPA 变量。参见:Activiti 文档的 JPA 章节

我发现 Activiti 不允许我在涉及 JPA 变量的进程上创建查询,我喜欢在 JPA 实体字段上进行过滤。例如,如果我有一个带有引用 Book 实体的变量的流程,我无法为具有特定标题的图书的流程创建查询。

克服这个问题的最佳方法是什么?我虽然关于使用 Hibernate 单独查询实体,然后在 Activiti 上进行第二次查询以获取所涉及的进程,但我担心它会很慢。另外,如果我以相反的方式进行操作(首先查询进程,然后在实体上使用 Hibernate 进行第二次查询),Activiti 对 JPA 变量进行了不必要的填充,我不知道如何仅获取实体 ID它保存到我数据库的 Activiti 变量表中。

4

2 回答 2

0

我已经实施了问题评论中描述的解决方案。我还没有一个大的数据集来测试性能,但它似乎可以接受。

于 2012-11-27T15:02:04.383 回答
0

将您的实体 ID 用作流程的 businessKey 怎么样?

然后您可以对您的实体(具有特定标题的书籍)进行查询,然后使用它来检索您在 Activiti 中的流程

于 2012-11-16T16:39:30.550 回答