当前位置:伍佰目录 » 站长资讯 » 免费资源 » 技术文章 » 文章详细

持久化工作流程数据,工作流引擎集成JPA数据库使用详解

来源:本站原创 浏览:247次 时间:2021-05-05

动感车,淋病治疗费用,11?

  Activiti中的Java持久层API

  Activiti中JPA简介JPA实体要求JPA配置JPA用法简单示例查询JPA流程变量使用Spring beans和JPA结合的高级例子

  Activiti中JPA简介

  可以使用JPA实体作为流程变量, 并进行操作:基于流程变量更新已有的JPA实体,可以在用户任务的表单中填写或者由服务任务生成重用已有的领域模型,不需要编写显示的服务获取实体或者更新实体的值根据已有实体的属性做出判断(网关即分支聚合)

  

  JPA实体要求

  Activiti中JPA只支持符合以下要求的实体:实体应该使用JPA注解进行配置, 支持字段和属性访问两种方式.@MappedSuperclass也要能够被使用实体中应该有一个使用@Id注解的主键,不支持复合主键@EmbeddedId 和 @IdClass:Id字段或者属性能够使用JPA规范支持的任意类型:原生态数据类型和他们的包装类型(Boolean除外)StringBigIntegerBigDecimaljava.util.Datejava.sql.Date

  JPA配置

  引擎必须有一个对EntityManagerFactory的引用才能够使用JPA的实体,这样可以通过配置引用或者提供一个持久化单元名称作为变量的JPA实体将会被自动检测并进行相应的处理使用jpaPersistenceUnitName配置配置一个自定义的EntityManagerFactory,这里使用了OpenJPA实体管理器该代码片段仅仅包含与例子相关的beans,去掉了其他beans.OpenJPA实体管理的完整并可以使用的例子可以在activiti-spring-examples(/activiti-spring/src/test/java/org/activiti/spring/test/jpa/JPASpringTest·java) 中找到也可以在编程式创建一个引擎时完成配置

  

  配置的属性有:

  jpaPersistenceUnitName: 使用持久化单元的名称:要确保该持久化单元在类路径下是可用的,默认的路径是 /META-INF/persistence.xml要么使用jpaEntityManagerFactory要么或者是jpaPersistenceUnitNamejpaEntityManagerFactory: 一个实现了javax.persistence.EntityManagerFactory的bean的引用:将被用来加载实体并且刷新更新要么使用jpaEntityManagerFactory要么或者是jpaPersistenceUnitNamejpaHandleTransaction: 在被使用的EntityManager实例上,该标记表示流程引擎是否需要开始和提交或者回滚事务:当使用Java事务API(JTA) 时,设置为falsejpaChttps://www.3tt.net/?mod=artinfo&aid=673loseEntityManager: 该标记表示流程引擎是否应该关闭从 EntityManagerFactory获取的EntityManager的实例:当EntityManager是由容器管理的时候需要设置为false: 当使用并不是单一事务作用域的扩展持久化上下文的时候

  JPA用法

  简单示例

  首先,需要创建一个基于META-INF/persistence.xml的EntityManagerFactory作为持久化单元:包含持久化单元中所有的类和一些供应商特定的配置使用一个简单的实体作为测试,其中包含有一个id和String类型的value属性,也将会被持久化在测试之前,创建一个实体并且保存启动一个新的流程实例,添加一个实体作为变量. 其他的变量,将会被存储在流程引擎的持久化数据库中.下一次获取该变量的时候,将会根据该类和存储Id从EntityManager中加载流程定义中的第一个节点是一个服务任务,将会调用entityToUpdate上的setValue方法,其实就是之前在启动流程实例时候设置的JPA变量并且将会从当前流程引擎的上下文关联的EntityManager中加载当完成服务任务时,流程实例将会停留在流程定义中定义的用户任务环节上:可以查看该流程实例EntityManager已经被刷新了并且改变的实体已经被保存进数据库中获取entityToUpdate的变量value时,该实体将会被再次加载并且获取该实体属性的值将会是updatedValue

本文地址:http://www.reviewcode.cn/youxikaifa/206237.html 转载请注明出处!


伍佰目录声明:本站部分文章来源于网络,版权属于原作者所有。如有转载或引用文章/图片涉及版权问题,请联系我们处理.我们将在第一时间删除! 联系邮箱:tsk@qq.com

快速链接

最新收录

最新点入