JPA 中 sql 预编译 -- EntityManager 使用 预编译

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

实现方式 :

1. 注入em:

  @PersistenceContextprivate EntityManager entityManager;

注入方式 2:

  @PersistenceUnitprivate EntityManagerFactory emf;

 

2. 得到em:

 private EntityManager getEm() {return this.entityManager;}

对应第2种注入方式:

  /*** 得EntityManager** @return*/private EntityManager getEm() {return emf.createEntityManager();}

3.预编译写法:

   EntityManager em = getEm();String getAllTask = "SELECT ID,DEPARTMENT,WBS,CODE,NAME,PARENT_CODE FROM GAEI_WORK_TASK" +" WHERE WBS = ? AND DEPARTMENT = ? ";Query query = em.createNativeQuery(getAllTask);query.setParameter(1, wbs);query.setParameter(2, ((Department) userService.getSecondDepartmentByUserId(uid)).getId());List<Object> taskList = query.getResultList();

4. 附上原本查询写法:( 建议参数都改为走预编译 )

 String sql = " SELECT" +" pro.id," +" pro.CODE," +" pro.PROJECT_NAME," +" pro.PROJECT_DIRECTOR_NO 'PROJECT_DIRECTOR_NO.id'," +" pro.source," +" gaei_pro.WBS," +" app_user.fullname 'PROJECT_DIRECTOR_NO.fields'," +" gaei_pro.STATUS" +" FROM" +" GAEI_PROJECT pro" +" LEFT JOIN appbricks_user app_user ON gaei_pro.PROJECT_DIRECTOR_NO = app_user.id" +" WHERE app_user.id = '" + approveId + "'" +" ORDER BY pro.CODE ASC";List<Object> resultList = getResultList(em, sql);

 

 // 执行查询public static <T> List<T> getResultList(EntityManager em, String sql) {List<T> resultList = em.createNativeQuery(sql).getResultList();return resultList;}



 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/449368.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

持续记函数

自己写文章的缘由 juejin.im/post/5c7368… 2019年2月26日 星期二 array_shift — 将数组开头的单元移出数组 <?php $stack array("orange", "banana", "apple", "raspberry"); $fruit array_shift($stack); print_r($stack); ?…

研究:多感官教学增强记忆 学习效率事半功倍

人们在记忆外部信息时&#xff0c;必须先要去接受这些信息&#xff0c;而接受信息的“通道”不止一个&#xff0c;有视觉、听觉、嗅觉、味觉、触觉等等。有多种感官参加的记忆叫做“多通道”记忆。图为台中一幼稚园户外写生活动。 生动的教学方法往往可以吸引大多数孩子&#…

330 div+css Experience

今天学习的div&#xff0c;感觉对编辑html更为方便快捷&#xff0c;但还是需要多练&#xff0c;多熟悉一下思路和逻辑方式 越来越感觉&#xff0c;代码不是重要的&#xff0c;重要的是方向和思路&#xff0c;am的float clearfloat 及属性&#xff0c;还有overflow 溢出的三个属…

时间序列的平稳性检验方法汇总

时间序列平稳性检验方法&#xff0c;可分为三类&#xff1a; 图形分析方法 简单统计方法 假设检验方法 一、图形分析方法 可视化数据 可视化数据即绘制时间序列的折线图&#xff0c;看曲线是否围绕某一数值上下波动&#xff08;判断均值是否稳定&#xff09;&#xff0c;看…

tcp的发送端一个小包就能打破对端的delay_ack么?

3.10内核&#xff0c;反向合入4.9的bbr。 最近分析bbr的时候&#xff0c;收集了线上的一些报文&#xff0c;其中有一个疑问一直在我脑海里面&#xff0c;如下&#xff1a; 本身处于delay_ack状态的客户端&#xff0c;大概40ms回复一个delay_ack&#xff0c;当收到一个490字节的…

设置 git pull 无需输入账号和密码

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 如果你用git从远程pull拉取代码&#xff0c;每次都要输入密码&#xff0c;那么执行下面命令即可 git config --global credential.help…

Git 诞生记

你可能有过这样的经历&#xff1a;在 debug 的时候这里加一句&#xff0c;那里减一句&#xff0c;顺便改改参数&#xff0c;不一会你的程序就从一个 bug 增加到了无数个 bug 。最重要的是&#xff0c;你完全想不起来自己到底改了几个地方&#xff0c;原来的程序到底长什么样子了…

使用pandas进行量化回测(akshare)

本人看法&#xff0c;也就比excel高级一点&#xff0c;距离backtrader这些框架又差一点。做最基础的测试可以&#xff0c;如果后期加入加仓功能&#xff0c;或者是止盈止损等功能&#xff0c;很不合适。只能做最简单的技术指标测试。所以别太当回事。 导包&#xff0c;常用包导…

【BZOJ4543】【POI2014】Hotel加强版(长链剖分)

传送门 题意&#xff1a;求树上满足三点之间距离两两相等的三元组个数 n≤1e5n\le 1e5n≤1e5 原题数据是n≤5000n\le5000n≤5000 考虑怎么做f[u][i]f[u][i]f[u][i]表示uuu为根&#xff0c;深度为iii的点的个数g[u][i]g[u][i]g[u][i]表示uuu为根&#xff0c;满足2点到lcalcalca的…

使用vue+webpack从零搭建项目

vue到现在已经成为一个热门的框架&#xff0c;在项目实践当中&#xff0c;如果想要创建一个新项目&#xff0c;通常都会使用vue-cli的脚手架工具&#xff0c;毋容置疑能够方便很多&#xff0c;很多东西也不需要自己亲自去配置。都知道&#xff0c;脚手架其实是vue结合webpack去…

CentOS 6 和 CentOS 7 防火墙的关闭

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。CentOS6.5查看防火墙的状态&#xff1a; 1[linuxidclocalhost ~]$service iptable status显示结果&#xff1a; 12345[linuxidclocalhost …

怎样从Linux终端管理进程:10个你必须知道的命令

本文由 极客范 - Ben Zhang 翻译自 Chris Hoffman。欢迎加入极客翻译小组&#xff0c;同我们一道翻译与分享。转载请参见文章末尾处的要求。Linux终端有一系列有用的命令。它们可以显示正在运行的进程、杀死进程和改变进程的优先级。本文列举了一些经典传统的命令和一些有用新…

易盛极星多合约回测(问题很多)

注意&#xff0c;使用此函数&#xff0c;在考虑手续费时&#xff0c;无法做到统一。 import talib import numpy as np import EsTalib from EsSeries import NumericSeries# 策略参数字典 g_params[p1] 5 g_params[p2] 10 g_params[p3] 120 g_params[ZQ] 5 #交易周期…

Qt 程序获取程序所在路径、用户目录路径、临时文件夹等特殊路径的方法

Qt 程序获取程序所在路径、用户目录路径、临时文件夹等特殊路径的方法 经常我们的程序中需要访问一些特殊的路径&#xff0c;比如程序所在的路径、用户目录路径、临时文件夹等。在 Qt 中实现这几个功能所用的方法虽然都不难&#xff0c;但是各不相同&#xff0c;每次用到时还要…

搞了个30天学习量化的数据资料,可以bt做全球。数据链接白送

待会上传代码,资料,打包好了,拿来就能用。累死我了,搞了两天,必须收费,绝不允许白嫖。不然对不起我熬夜,那么辛苦。 确定后,扫描百度网盘 链接:https://pan.baidu.com/s/1C0k6zkjHchFVQaHe4nRMsg?pwd=kkgb 提取码:kkgb 如何回测k线图 如何根据形态选股

解决 springboot + JPA + MySQL 表名全大写 出现 “表不存在” 问题(Table ‘XXX.xxx‘ doesn‘t exist)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 项目中使用 JPA 和 mysql 。表名是全大写的。 出现 如下报错&#xff1a; java.sql.SQLSyntaxErrorException: Table XXX_ms.work_tas…

自学Linux命令的四种方法

本文由 极客范 - 小道空空 翻译自 Danny Stieben。欢迎加入极客翻译小组&#xff0c;同我们一道翻译与分享。转载请参见文章末尾处的要求。如果你想成为Linux高手&#xff0c;那么掌握一些Linux命令是必不可少的。下面是自学Linux命令的四种方法。 每日提示 学习Linux命令的…

第五周学习总结

第六章&#xff1a; 主要内容: 1.接口 2.实现接口 3.理解接口 4.接口回调 5.接口与多态 6.接口变量做参数 7.面向接口编程 Example6_1: Example6_2: Example6_3: Example6_4: Example6_5: Example6_6: 总结&#xff1a;这章节没有较大问题&#xff0c;例题也都做了一遍。蛮顺利…

Android 设备的CPU类型(通常称为”ABIs”)

armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它.arm64-v8a: 第8代、64位ARM处理器&#xff0c;很少设备&#xff0c;三星 Galaxy S6是其中之一。armeabi: 第5代、第6代的ARM处理器&#xff0c;早期的手机用的比较多。x86: 平板、模…

国信证券学习系列(1)

软件不错&#xff0c;满足了我对股票&#xff0c;期货&#xff0c;期权的全部要求。而且数据可以提供下载&#xff0c;简直没话说了。 数据清洗问题&#xff0c;我其实很早以前就在思考这个问题&#xff0c;回测&#xff0c;到底在测什么&#xff1f;什么样的数据可以用来回测&…