【Hibernate】uniqueResult方法「建议收藏」

【Hibernate】uniqueResult方法「建议收藏」数据库中根据你的查询条件只会返回唯一结果,就可以用uniqueResult这个方法!否则就用list();其返回类型为Object uniqueResult()方法通常是在业务方法查询语句中用到的,比如(UsersRoles)getSession().createQuery(“selecturfromUsersRolesurwhereur.role.id=?andur.

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

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

数据库中根据你的查询条件只会返回唯一结果,就可以用uniqueResult这个方法!否则就用list();其返回类型为Object 

uniqueResult()方法通常是在业务方法查询语句中用到的,比如(UsersRoles)getSession().createQuery(“select ur from UsersRoles ur where ur.role.id = ? and ur.user.id = ?”) .setParameter(0, roleId) .setParameter(1, userId) .uniqueResult();这时通表示只(从数据库中只返回一条记录)返回一个对象。当不确定时用List()方法

 

如果查询返回多个值用list()方法

1. public void testQuery(){  

2.         Configuration config = new Configuration().configure();  

3.         SessionFactory factory = config.buildSessionFactory(); //创建SessionFactory  

4.         Session session = factory.openSession();        //创建Session  

5.         session.beginTransaction();                     //开始事务  

6.           

7.         Query query = session.createQuery(“from Student”);  

8.         List list = query.list();  // 用list方法返回多个值  

9.         //List list = session.createQuery(“from Student”).list();  

10.         for(int i=0;i<list.size();i++){  

11.             Student student = (Student)list.get(i);  

12.             System.out.print(student.getId()+” “);  

13.             System.out.print(student.getName()+” “);  

14.             System.out.print(student.getSex()+” “);  

15.             System.out.print(student.getBirthday());  

16.             System.out.println();  

17.         }         

18.           

19.         session.getTransaction().commit();         //提交事务   

20.         session.close();                           //关闭Session  

21.     }  

 

当确定返回的实例只有一个或者null时 用uniqueResult()方法

1. public void testQuery(){  

2.         Configuration config = new Configuration().configure();  

3.         SessionFactory factory = config.buildSessionFactory(); //创建SessionFactory  

4.         Session session = factory.openSession();        //创建Session  

5.         session.beginTransaction();                     //开始事务  

6.           

7.         Query query = session.createQuery(“from Student”);  

8.         List list = query.list();  // 用list方法返回多个值  

9.         //List list = session.createQuery(“from Student”).list();  

10.         for(int i=0;i<list.size();i++){  

11.             Student student = (Student)list.get(i);  

12.             System.out.print(student.getId()+” “);  

13.             System.out.print(student.getName()+” “);  

14.             System.out.print(student.getSex()+” “);  

15.             System.out.print(student.getBirthday());  

16.             System.out.println();  

17.         }         

18.           

19.         session.getTransaction().commit();         //提交事务   

20.         session.close();                           //关闭Session  

21.     }  

 

当确定返回的实例只有一个或者null时 用uniqueResult()方法

public void testGet(){  

        Configuration config = new Configuration().configure();  

        SessionFactory factory = config.buildSessionFactory();  

        Session session = factory.openSession();  

        session.beginTransaction();  

          

        Query query = session.createQuery(“from Student s where s.id=?”);  

        query.setString(0, “2”);  

        Student student = (Student)query.uniqueResult();  //当确定返回的实例只有一个或者null时 用uniqueResult()方法  

        //Student student = (Student)session.createQuery(“from Student s where s.id=?”).setString(0,”5″).uniqueResult();  

          

        System.out.println(student.getName());  

        System.out.println(student.getBirthday());  

          

      

        session.getTransaction().commit();  

        session.close();  

    }  

 

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195193.html原文链接:https://javaforall.net

(0)
上一篇 2025年10月22日 上午7:43
下一篇 2025年10月22日 上午8:15


相关推荐

  • latex公式(equation)左对齐

    latex公式(equation)左对齐begin equation begin aligned amp amp P amp w p 1 w p 2 w p w times amp amp amp amp times w p 1 w p 2 w p w T amp amp amp amp p

    2026年3月18日
    1
  • Kimi「联姻」小红书,「大模型六小龙」不端着了

    Kimi「联姻」小红书,「大模型六小龙」不端着了

    2026年3月12日
    2
  • traceview android studio,TraceView 的正确打开方式

    traceview android studio,TraceView 的正确打开方式引言 TraceView 是 AndroidSDK 提供的一个性能分析工具官网介绍 一般用来检查 UI 卡顿 分析 app 耗时操作 但是对于大多说 Android 开发来说 TraceView 的图形化页面只能让人感觉一脸懵逼 本文重点昨天在干货集中营发现这一篇文章一个能让你了解所有函数调用顺序以及函数耗时的 Android 库 无需侵入式代码 文里面提到可以使用 dmtracedump

    2026年3月18日
    2
  • 关闭防火墙linux出错,linux关闭防火墙【应对办法】

    关闭防火墙linux出错,linux关闭防火墙【应对办法】技术进步带动时代的进步 win7 操作系统的优点各位小伙伴都有目共睹 然而有时还是会出现 linux 关闭防火墙的问题 让小伙伴们感到棘手 其实 linux 关闭防火墙的问题不难突破 那么我们该如何突破 linux 关闭防火墙的困扰呢 下面给大家详细介绍一下 linux 关闭防火墙的应对办法 linux 如何关闭防火墙答 一 Linux 下开启 关闭防火墙命令 1 永久性生效 重启后不会复原开启 chkconfi

    2026年3月16日
    3
  • @RequestBody的使用[通俗易懂]

    @RequestBody的使用[通俗易懂]提示:建议一定要看后面的@RequestBody的核心逻辑源码以及六个重要结论!本文前半部分的内容都是一些基本知识常识,可选择性跳过。声明:本文是基于SpringBoot,进行的演示说明。基础知识介绍:@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBo…

    2022年4月27日
    76
  • golang gzip压缩_python gzip

    golang gzip压缩_python gzip2019独角兽企业重金招聘Python工程师标准>>>…

    2025年9月29日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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