hibernate query_下列关于hibernate说法正确的是

hibernate query_下列关于hibernate说法正确的是转自品略图书馆:http://www.pinlue.com/article/2020/03/0920/1310003985022.html以前写代码,总免不了编写登陆部分。在获取user的时候,只可能返回一个user实例,或者为null。以前使用以下方法实现。Java代码publicUserget(Stringid){Sessionsession=HibernateU…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

转自品略图书馆:http://www.pinlue.com/article/2020/03/0920/1310003985022.html

 

以前写代码,总免不了编写登陆部分。在获取user的时候,只可能返回一个user实例,或者为null。以前使用以下方法实现。

Java代码

public User get(String id){

Session session=HibernateUtil.getSessionFactory().openSession();

String hql=”from User u where u.id = ?”;

List list=session.createQuery(hql).setString(0, id).list();

if (list.size()==1){

return (User)list.get(0);

}else{

return null;

}

}

public User get(String id){ Session session=HibernateUtil.getSessionFactory().openSession(); String hql=”from User u where u.id = ?”; List list=session.createQuery(hql).setString(0, id).list(); if (list.size()==1){ return (User)list.get(0); }else{ return null; } }

昨天重读hibernate的参考手册,发现query接口提供了一个更好的方法用来获取实例,当返回的实例明确只有一个或者为null的时候。

uniqueResult

public Object uniqueResult()throws

抛出:当返回的实例大于一个的时候的抛出

对应的使用方法如下

Java代码

public User get(String id){

Session session=HibernateUtil.getSessionFactory().openSession();

String hql=”from User u where u.id=?”;

return (User)session.createQuery(hql).setString(0,id).uniqueResult();

public User get(String id){ Session session=HibernateUtil.getSessionFactory().openSession(); String hql=”from User u where u.id=?”; return (User)session.createQuery(hql).setString(0,id).uniqueResult();

}

备注:感觉不是很实用呀,当查询条件不太确定是否只有一条记录时,这时候就出麻烦了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/187375.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • kali-linux中安装Nessus详细教程「建议收藏」

    kali-linux中安装Nessus详细教程「建议收藏」一、下载NessusNessus是工业界使用较为广泛的产品。登录官网,下载对应版本的nessus框架安装包https://www.tenable.com/downloads/nessus?loginAttempted=true(建议直接在kali中利用firefox浏览器下载,否则需要从真实机拖进虚拟机中(需要安装VMtools,安装VMtools过程不再赘述))二、明确自己压缩包的位置比如我的Nessus-8.10.0-debian6_amd64.deb安装包位于/home/go.

    2022年10月19日
  • 数组转集合 集合转数组「建议收藏」

    数组转集合 集合转数组「建议收藏」//数组转集合   //数组转集合虽然不能增加减少但可以使用其他集合的方法 比如包含   publicstaticvoidmain(String[]args){   //demo1();  //int[]arr={11,22,33,44,55};  //Listlist=Arrays.asList(arr);基本数据类型的数组转换成集合,会

  • 史上最全的Uboot常用命令汇总(超全面!超详细!)收藏这一篇就够了「建议收藏」

    史上最全的Uboot常用命令汇总(超全面!超详细!)收藏这一篇就够了「建议收藏」Linux系统要启动就必须需要一个bootloader程序,也就说芯片上电以后先运行一段bootloader程序。这段bootloader程序会先初始化DDR等外设,然后将Linux内核从flash(NAND,NORFLASH,SD,MMC等)拷贝到DDR中,最后启动Linux内核。当然了,bootloader的实际工作要复杂的多,但是它最主要的工作就是启动Linux内核,bootloader和Linux内核的关系就跟PC上的BIOS和Windows的

  • 基于keras的手写数字识别_数字识别

    基于keras的手写数字识别_数字识别一、概述手写数字识别通常作为第一个深度学习在计算机视觉方面应用的示例,Mnist数据集在这当中也被广泛采用,可用于进行训练及模型性能测试;模型的输入为:32*32的手写字体图片,这些手写字体包含0~9数字,也就是相当于10个类别的图片模型的输出:分类结果,0~9之间的一个数下面通过多层感知器模型以及卷积神经网络的方式进行实现二、基于多层感知器的手写数字识别多层感知器的模型如下…

  • hadoop核心模块_ERP核心模块

    hadoop核心模块_ERP核心模块转载地址:https://www.amobbs.com/thread-5531817-1-1.html 最近,利用uip搞了小东西,要想利用好uip,最好彻底搞清楚其关键函数uip_process.当网卡接收到数据之后,均需要通过该函数来处理.  下面是对uip1.0中的uip_process函数解读.//要点:网卡收到数据时,uip_process会遍历uip_udp_conn…

  • D3旭日图_日新图

    D3旭日图_日新图本文将介绍D3旭日图的画法下面我们先来看看结果展示html代码<!DOCTYPEhtml><html><head><metacharset=”utf-8″><title>Sequencessunburst</title><scriptsrc=”js/d3.min.js…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号