现在的系统中虽然使用了。Hibernate但是没有使用Hibernate的关联关系来进行数据库操作。所有的管理操作都是单独实现的。所以也不能用Criteria.add()这种方式去查询关联的一方。所以只能用Native SQL去查询结果返回对象了。按照Hibernate3的reference里面说的
对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口。最简单的情况下,我们可以采用以下形式:
List cats = sess.createSQLQuery("select * from cats")
.addEntity(Cat.class)
.list();
这个查询指定了:
这里,结果集字段名被假设为与映射文件中指明的字段名相同。对于连接了多个表的查询,这就可能造成问题,因为可能在多个表中出现同样名字的字段。下面的方法就可以避免字段名重复的问题:
List cats = sess.createSQLQuery("select {cat.*} from cats cat")
.addEntity("cat", Cat.class)
.list();
这个查询指定了:
addEntity()方法将SQL表的别名和实体类联系起来,并且确定查询结果集的形态。
addJoin()方法可以被用于载入其他的实体和集合的关联.
List cats = sess.createSQLQuery(
"select {cat.*}, {kitten.*} from cats cat, cats kitten where kitten.mother = cat.id"
)
.addEntity("cat", Cat.class)
.addJoin("kitten", "cat.kittens")
.list();
原生的SQL查询可能返回一个简单的标量值或者一个标量和实体的结合体。
Double max = (Double) sess.createSQLQuery("select max(cat.weight) as maxWeight from cats cat")
.addScalar("maxWeight", Hibernate.DOUBLE);
.uniqueResult();
除此之外,你还可以在你的hbm文件中描述结果集映射信息,在查询中使用。
List cats = sess.createSQLQuery(
"select {cat.*}, {kitten.*} from cats cat, cats kitten where kitten.mother = cat.id"
)
.setResultSetMapping("catAndKitten")
.list();
后来我使用了命名SQL查询方式。
可以在映射文档中定义查询的名字,然后就可以象调用一个命名的HQL查询一样直接调用命名SQL查询.在这种情况下,我们不 需要调用addEntity()方法.
<sql-query name="persons">
<return alias="person" class="eg.Person"/>
SELECT person.NAME AS {person.name},
person.AGE AS {person.age},
person.SEX AS {person.sex}
FROM PERSON person
WHERE person.NAME LIKE :namePattern
</sql-query>
List people = sess.getNamedQuery("persons")
.setString("namePattern", namePattern)
.setMaxResults(50)
.list();
我觉得这种发式比较好。这样写出来的sql可以很整齐。我们的数据库使用的是oracle,不过按照这上面的写法发现sql语句有错误。
后来拿到控制台执行也抱错。因为原来都用sqlserver,而sqlserver都是可以的。后来发现是表不能有别名改成这样就好了。
SELECT T_PAY.sys_id as {pay.sysId},
T_PAY.sys_flag as {pay.sysFlag},
T_PAY.sys_domain as {pay.sysDomain},
T_PAY.sys_owner as {pay.sysOwner},
T_PAY.sys_create_date as {pay.sysCreateDate},
T_PAY.sys_update_date as {pay.sysUpdateDate},
T_PAY.pay_id as {pay.payId},
T_PAY.pay_name as {pay.payName},
T_PAY.pay_type_id as {pay.payTypeId},
T_PAY.pay_date as {pay.payDate},
T_PAY.money_type_id as {pay.moneyTypeId},
T_PAY.amount as {pay.amount},
T_PAY.payer_id as {pay.payerId},
T_PAY.payer_name as {pay.payerName},
T_PAY.accept_id as {pay.acceptId},
T_PAY.accept_name as {pay.acceptName},
T_PAY.pay_state_id as {pay.payStateId},
T_PAY.remark as {pay.remark}
FROM T_PAY
JOIN T_BIZ_PAY
ON T_PAY.pay_id = T_BIZ_PAY.pay_id
WHERE T_BIZ_PAY.biz_id = :bizId
这里要特别的提醒一下大家千万不要把主键忘了。刚开始我就忘了主键,后来调试了半天才找出原因来。
这样在sping里面用回调查询一下就ok了。真的很方便.
public List getPaysByBizId(final String bizId) {
return (List)getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session)throws HibernateException{
Query query = session.getNamedQuery("find.pays.by.bizid");
query.setParameter("bizId",bizId);
return query.list();
}
},true);
}
分享到:
相关推荐
Screenshot_20250201_221248_com.tencent.tmgp.pubgmhd.jpg
e2studio开发RA4M2(2)---Programmer烧录程序 CSDN文字教程:https://coremaker.blog.csdn.net/article/details/144953944 B站教学视频:https://www.bilibili.com/video/BV1tQC6YkEBn/ Renesas Flash Programmer是一款支持开发和批量生产阶段写入的软件,具有简单的 GUI,即使是初学者也能简单操作进行写入。 运行环境支持Windows、Linux、macOS。 这里使用Renesas Flash Programmer软件进行下载。 硬件准备 首先需要准备一个开发板,这里我准备的是自己绘制的开发板,需要的可以进行申请。 主控为R7FA4M2AD3CFL#AA0
资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档切片混合解析和叠加展示风格,请放心使用。 2:32页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解),旨在为更多的人甚至零基础的人也能运行、使用和学习。 3:配套毕业论文,万字长文,word文档,支持二次编辑。 4:范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关电子教程、视频教学资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于B/S网络结构,在IDEA中开发。服务端用Java并借ssm框架(Spring+SpringMVC+MyBatis)搭建后台。用MySQL存储数据,可靠性强。 能学到什么: 使用ssm搭建后台。VUE框架构建前端交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。
资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档切片混合解析和叠加展示风格,请放心使用。 2:32页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解),旨在为更多的人甚至零基础的人也能运行、使用和学习。 3:范例参考毕业论文,万字长文,word文档,支持二次编辑。 4:范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关电子教程、视频教学资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于B/S网络结构,在IDEA中开发。服务端用Java并借ssm框架(Spring+SpringMVC+MyBatis)搭建后台。用MySQL存储数据,可靠性强。 能学到什么: 使用ssm搭建后台。VUE框架构建前端交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。
1、文件内容:rsyslog-gnutls-8.24.0-57.el7_9.3.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/rsyslog-gnutls-8.24.0-57.el7_9.3.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档切片混合解析和叠加展示风格,请放心使用。 2:32页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解),旨在为更多的人甚至零基础的人也能运行、使用和学习。 3:配套毕业论文,万字长文,word文档,支持二次编辑。 4:范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关电子教程、视频教学资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于B/S网络结构,在IDEA中开发。服务端用Java并借ssm框架(Spring+SpringMVC+MyBatis)搭建后台。用MySQL存储数据,可靠性强。 能学到什么: 使用ssm搭建后台。学习使用jsp、html构建交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。
数据集采用【腹部器官多类别图像语义分割,dice约为0.8,iou为0.7】,数据在data目录下,划分了训练集和验证集。【代码可一键运行】 【介绍】分割网络为TransUnet和Swin-Unet (可以自行选择),学习率采用cos余弦退火算法。如果想在大尺度进行训练,修改base-size参数即可,优化器采用了AdamW。评估的指标为dice、iou、recall、precision、f1、pixel accuracy等等,代码会对训练和验证集进行评估,结果保存runs下的json文件中。 网络推理的时候采用可视化推理,运行infer脚本会打开本地网页,上传图片即可进行推理 更多医学图像语义分割实战:https://blog.csdn.net/qq_44886601/category_12816068.html 图像分类、语义分割网络改进:https://blog.csdn.net/qq_44886601/category_12858320.html
1、文件内容:qt5-qtimageformats-5.9.7-2.el7_9.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/qt5-qtimageformats-5.9.7-2.el7_9.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
电热综合能源系统优化调度模型:计及绿证交易、碳排放与智能楼宇微网协同调度策略,计及绿证交易及碳排放的含智能楼宇微网优化调度模型 摘要:代码主要做的是电热综合能源系统的优化调度问题,在传统的含风光储火的微网基础上,加入电动汽车以及智能楼宇单元,组成更加复杂的微网调度模型,并考虑微网参与碳市场以及绿色证书交易市场,并对交易结果进行了量化。 结果非常清晰,出图效果也非常清楚,具体可以看下图。 ,智能楼宇微网优化调度模型; 风光储火微网; 电动汽车; 碳市场交易; 绿证交易市场。,基于智能楼宇与绿色交易的微网优化调度模型研究
资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档切片混合解析和叠加展示风格,请放心使用。 2:32页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解),旨在为更多的人甚至零基础的人也能运行、使用和学习。 3:配套毕业论文,万字长文,word文档,支持二次编辑。 4:范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关电子教程、视频教学资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于B/S网络结构,在IDEA中开发。服务端用Java并借ssm框架(Spring+SpringMVC+MyBatis)搭建后台。用MySQL存储数据,可靠性强。 能学到什么: 使用ssm搭建后台。学习使用jsp、html构建交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。
1、文件内容:relaxngcc-1.12-6.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/relaxngcc-1.12-6.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
中文姓氏1074个,按照TF排序。
REFCONV RE-PARAMETERIZED REFOCUSING CONVOLUTION FOR ,含有完整的代码和论文POWERFUL CONVNETS,含有完整的代码和论文
Matlab Simulink下的锂电池主动均衡仿真:基于电压与变压器型均衡电路设计解析,matlab simulink仿真设计 锂电池主动均衡仿真(基于电压) 变压器型均衡电路(四节电池为例) 1.基于电压器的均衡电路(整理变压器) (需要改价 ) 本店还有buck-boost电路均衡 开关电容均衡电路 双向反激电路 双层准谐振仿真模型 ,MATLAB Simulink仿真设计; 锂电池主动均衡仿真(基于电压); 变压器型均衡电路(四节电池); 均衡电路(基于整理变压器); 改价; Buck-Boost电路均衡; 开关电容均衡电路; 双向反激电路; 双层准谐振仿真模型。,基于Matlab Simulink的锂电池主动均衡仿真:变压器型均衡电路设计及其对比研究
资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档切片混合解析和叠加展示风格,请放心使用。 2:32页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解),旨在为更多的人甚至零基础的人也能运行、使用和学习。 3:配套毕业论文,万字长文,word文档,支持二次编辑。 4:范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关电子教程、视频教学资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于B/S网络结构,在IDEA中开发。服务端用Java并借ssm框架(Spring+SpringMVC+MyBatis)搭建后台。用MySQL存储数据,可靠性强。 能学到什么: 使用ssm搭建后台。VUE框架构建前端交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。
1、文件内容:qt5-qt3d-devel-5.9.7-1.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/qt5-qt3d-devel-5.9.7-1.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
信息融合项目MATLAB仿真:基于PDA与JPDA算法的杂波环境下多目标跟踪研究,信息融合项目matlab仿真代码及说明 针对杂波环境多目标跟踪问题,设计目标稀疏的目标运动场景,分别采用PDA和JPDA方法,对目标的状态进行有效估计和实时跟踪。 以航迹丢失百分率,位置状态估计精度,计算效率为指标,比较两种算法的优劣性。 主要工作如下: (1)对PDA和JPDA算法进行描述,分别详细介绍了两种算法的核心思想和实现过程; (2)设置仿真场景,采用常速运动模型,同时设置杂波环境下目标个数为2个。 采用PDA和JPDA算法对杂波下的目标进行航迹跟踪。 (3)以RMSE,ARMSE,计算时间,航迹丢失百分率为对比性能指标,对两种算法进行了分析和总结。 ,核心关键词:信息融合项目; MATLAB仿真; 杂波环境多目标跟踪; PDA算法; JPDA算法; 目标运动场景; 状态估计; 实时跟踪; 航迹丢失百分率; 位置状态估计精度; 计算效率; 仿真场景设置; 常速运动模型; 杂波环境; RMSE; ARMSE; 计算时间。,Matlab仿真:杂波环境下PDA与JPDA多目标跟踪算法比较研究
1、文件内容:qt3-ODBC-3.3.8b-51.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/qt3-ODBC-3.3.8b-51.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
CarSim与Simulink联合仿真:基于MPC的动态规划路径实现超车换道操作指南与模型说明文档,视频演示效果展示。,CarSim与Simulink联合仿真,实时检测,动态规划路径,实现超车道,基于mpc,模型预测控制实现,距离效果见视频 提供carsim参数配置文件,导入即可运行 提供simulink模型文件 提供运行指导视频 提供模型说明文档 ,CarSim; Simulink联合仿真; 实时检测; 动态规划路径; 超车换道; MPC(模型预测控制); 距离效果; 参数配置文件; Simulink模型文件; 运行指导视频; 模型说明文档。,"CarSim与Simulink联合仿真:实现超车换道MPC模型预测控制"
资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档切片混合解析和叠加展示风格,请放心使用。 2:32页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解),旨在为更多的人甚至零基础的人也能运行、使用和学习。 3:配套毕业论文,万字长文,word文档,支持二次编辑。 4:范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关电子教程、视频教学资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于B/S网络结构,在IDEA中开发。服务端用Java并借ssm框架(Spring+SpringMVC+MyBatis)搭建后台。用MySQL存储数据,可靠性强。 能学到什么: 使用ssm搭建后台。VUE框架构建前端交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。