PROCEDURE:
CREATE OR REPLACE PROCEDURE HTCHR.copy_BonusDept_From_HRM (
orgid in number,bonusorgid in number,hrmtype in number) is
BEGIN
delete from HTCHR.BONUSDEPARTMENT b where B.BONUSORGANIZATION_ID = bonusorgid;
insert into HTCHR.BONUSDEPARTMENT b (
B.ID,
B.CODE,B.FULLNAME,B.SHORTNAME,B.ENGLISHNAME,B.REPEALED,B.DEPTLEVEL,B.PLDEPT,B.ATTRIBUTE,
--B.MAINMANAGER_ID,
B.BONUSORGANIZATION_ID,
B.ADMINPARENT_ID
)
select
concat(bonusorgid,'*'||D.id),
D.CODE,D.FULLNAME,D.SHORTNAME,D.ENGLISHNAME,D.REPEALED,D.DEPTLEVEL,D.PLDEPT,D.ATTRIBUTE,
replace(D.ORGANIZATION_ID,D.ORGANIZATION_ID,bonusorgid),
--D.MAINMANAGER_ID,
case hrmtype
when 1
--DLine1
then
case
when D.DOTTEDONEPARENT_ID is not null
then
concat(bonusorgid,'*'||D.DOTTEDONEPARENT_ID)
else concat('',D.DOTTEDONEPARENT_ID)
end
when 2
--DLine2
then
case
when D.DOTTEDTWOPARENT_ID is not null
then
concat(bonusorgid,'*'||D.DOTTEDTWOPARENT_ID)
else concat('',D.DOTTEDTWOPARENT_ID)
end
when 3
--SLine
then
case
when D.SOLIDPARENT_ID is not null
then
concat(bonusorgid,'*'||D.SOLIDPARENT_ID)
else concat('',D.SOLIDPARENT_ID)
end
else
--行政
case
when D.ADMINPARENT_ID is not null
then
concat(bonusorgid,'*'||D.ADMINPARENT_ID)
else concat('',D.ADMINPARENT_ID)
end
end
from HTCHR.DEPARTMENT d where d.ORGANIZATION_ID = orgid;
end;
/
JPA調用:
/**
* 復制HRM組織
*
* @param orgId
* @param prefixStr
* @param hrmType
*/
public void copyFromHrm(Integer orgId,Integer bonusOrgId,Integer hrmType) {
Query query = entityManager.createNativeQuery("{call copy_BonusDept_From_HRM(?,?,?)}");
query.setParameter(1, orgId);
query.setParameter(2, bonusOrgId);
query.setParameter(3, hrmType);
query.executeUpdate();
}
復制完刷新組織樹的時候需要refresh一下:
/**
* 刷新bonusOrganization
*
* @param bonusOrganization
*/
public void refeshBonusOrganization(BonusOrganization bonusOrganization) {
bonusOrganization.getBonusDepartments().clear();
entityManager.refresh(bonusOrganization);
}
分享到:
相关推荐
本篇文章主要介绍了Spring Data JPA调用存储过程实例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
EJB3JPA调用原生SQL和函数存储过程[归类].pdf
我们可以通过几种不同的方式调用Oracle存储过程。 使用 使用javax.persistence 。 我们在这种情况下使用了这种方法无论我们选择哪种方式,在使用spring-data时都应该设置一些关键方面/属性(尤其是当我们不让Spring...
中文名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 原名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 作者: 李刚 资源格式: PDF 版本: 第一版 出版社: 电子...
该类中包含有多个方法对数据库中的clob字段进行查询、插入、事物处理、批处理、调用存储过程等操作。使用的是myeclipse8.6,oracle11g,测试的时候执行手动建个表xml_buffer,包含id、xmlcontent字段即可,然后在...
它提供RESTful服务来创建,更新和查看单个公司及其各自所有者,还提供检索和列出存储在下划线存储库中的所有公司和所有者的服务。 从Web浏览器查看时,客户端可以对所有这些服务进行AJAX调用,并可视化相应的响应。...
的存储库)、 Spring ORM(来自 Spring 框架的核心 ORM 支持) BPM: Activiti 5.15 嘲笑: Mockito 应用服务器(嵌入式): Tomcat 对象到 JSON 映射: Jackson 日期时间实用程序: Joda-Time 断言库: Hamcrest - ...
前端使用Vue3 + TypeScript,后端采用SpringCloud + SpringBoot + Spring Data JPA 。基于 Netty 使用 WebSocket 实现了正常的C/S通信模块。根据场景实现了:基础聊天、附近的人、个人信息编辑。并对各个模块拆分为...
这是一个使用带有Spring JPA存储库的嵌入式DB(PostgreSQL)的示例应用程序。 目前,没有任何数据可持久存储到实际的数据库中,但是一旦应用程序启动,该会话的值将持久保存。 Sample是一个图书馆系统,在该系统中...
由于骆驼路线被设置为后台服务,因此,例如JPA存储的其他扩展也可以调用这些路线以执行到S3和MongoDB的路线。 使用spring配置更改应用程序上下文 在$ {installation_path} / config文件夹中要配置的一些其他文件是...
用play.db.jpa.Blob存储上传文件 - 74 - 强制保存 - 75 - 更多公共类型generic typing问题 - 77 - 08.Play.libs库包 - 78 - 用XPath解析XML - 78 - Web Service client - 79 - Functional programming with Java功能...
前端使用Vue3 + TypeScript,后端采用SpringCloud + SpringBoot + Spring Data JPA 。基于 Netty 使用 WebSocket 实现了正常的C/S通信模块。根据场景实现了:基础聊天、附近的人、个人信息编辑。并对各个模块拆分为...
EclipseLink JPA2.1用于导入用于管理对 SQL 数据库的调用的 JPA 库。 MySQL-Connector 5.1.31用于访问 Java 应用程序中的 SQL 数据库。 JCalendar 1.4提供了一个易于使用的 GUI 界面,供用户选择项目的开始和结束...
创建Spring Boot项目:使用Spring Initializr创建一个新的Spring Boot项目,并添加相应的依赖,比如Spring Web、Spring Data JPA等。 编写实体类:根据数据库表结构,在Java中创建相应的实体类,用于映射数据库表。 ...
系统的数据存储使用MySQL数据库,通过JPA进行数据的持久化操作。系统的数据表包括用户表、菜品表、购物车表和订单表等。系统的开发环境为Java 8,开发工具为IntelliJ IDEA,数据库管理工具为Navicat。这款网上点餐...
技术特点:使用Spring Boot框架简化了开发过程,提高了开发效率。利用JPA技术实现对MySQL数据库的操作,简化了数据库操作代码。使用RESTful API设计,方便前端调用后端接口进行数据交互。采用前后端分离的架构,使得...
在开发过程中自动重新加载网站(gulp 功能) 使用JavaScript 单元测试 使用end2end 测试 使用REST 调用 编辑任务对象,包括子任务(1-n 关系) 列出任务对象和语言对象的修订版本(通过 Hibernate Envers 存储在...
无缝集成MongoDB数据库,提供对非结构型数据存储,解决关系型数据库瓶颈问题。集成swagger框架,实现自动API测试及调试功能,解决程序员最反感的编写技术文档的问题。数据源基于Druid,提供更高性能及SQL监控。框架...
前后端交互使用JWT验证权限,使用Redis调用lua脚本CAS的方式,并且在令牌刷新时,旧令牌续命30秒进行平滑过渡,丝般顺滑地达到了用户无感知动态刷新JWT的目的。 jpa`动态条件查询写起来麻烦`,`项目的逻辑复杂的...
SpringBoot服务端主要负责数据的处理和存储,以及提供API接口供前端调用。Vue客户端则主要负责页面的展示和用户交互。 在SpringBoot服务端,我们使用了JPA进行数据库操作,MyBatis进行SQL查询,Redis进行数据缓存,...