我们正在尝试在一个新项目中使用 Activiti。我创建了一个设置,它通过 JPA 使用 Hibernate 来持久化流程中涉及的实体,并且 JPA 与 Activiti 互连,因此我们可以将这些实体用作 JPA 变量。请参阅:JPA chapter of Activiti's documentation
我发现 Activiti 不允许我在涉及 JPA 变量的进程上创建查询,我想在其中过滤 JPA 实体字段。例如,如果我有一个带有引用 Book 实体的变量的流程,我无法为拥有带有特定标题的书的流程创建查询。
克服这个问题的最佳方法是什么?虽然我想用 Hibernate 分别查询实体,然后在 Activiti 上进行第二次查询以获取所涉及的进程,但我担心它会很慢。另外,如果我以另一种方式进行操作(首先查询进程,然后在实体上使用 Hibernate 进行第二次查询),Activiti 会对 JPA 变量进行不必要的填充,我找不到如何只获取实体 ID保存到我的数据库的 Activiti 变量表中。
最佳答案
如何使用您的实体 ID 作为流程的 businessKey?
然后您可以查询您的实体(具有特定标题的书籍),然后使用它来检索您在 Activiti 中的流程
关于java - 复杂的 Activiti + JPA 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13363739/