文档章节

hibernate一些函数理解

小湘西
 小湘西
发布于 2016/09/20 11:22
字数 386
阅读 7
收藏 0

uniqueResult();
这个方法是这样用的
当你能够肯定你的数据库中根据你的查询条件只会返回唯一结果,就可以用这个方法!
否则就用list();
其返回类型为 List<T>
可根据你的实际类型强转! 
如果是result则是list类型。

在hibernate中,用hql语句查询实体类,采用list方法的返回结果为一个List,该List中封装的对象分为以下三种情况:

1.查询全部字段的情况下,如"from 实体类",list中封装的对象为实体类本身,各属性都将得到填充。

2.只查询一个字段,默认情况下,list中封装的是Object对象。

3.查询两个或两个以上的字段,默认情况下,list中封装的是Object[],长度与所查询的字段数一致。

对于后两种情况,用标签遍历时不太方便,因为无法直接转换成实体类的对象。

比较简单的解决方法是:在hql中使用 select new 包名.类名(属性1,属性2……) from 实体类,
同时在实体类中添加带参的构造方法,参数的个数和顺序与(属性1,属性2……) 保持一致,
这样我们得到的list中存放的依然是实体类的对象,所查询到的属性得到了填充,使用起来更为方便。

或者是如:select  new   map(a.name  as name, b.salary as salary)   from Person as a ,Salary b where a.id= b.personId ;

© 著作权归作者所有

小湘西
粉丝 19
博文 100
码字总数 27575
作品 0
东城
程序员
私信 提问
使用hibernate最简单的方式,大伙来喷喷。

我在实际使用当中也有这样的感觉,请大家发表一下看法,下面的内容是转载的。 注: Hibernate的复杂性是人尽皆知,想问一下Hibernate的退化用法,在JAVAEYE上发过这个贴子讨教,http://www....

无所谓
2011/04/13
450
2
Spring Boot中使用Spring-data-jpa

为了解决这些大量枯燥的数据操作语句,我们第一个想到的是使用ORM框架,比如:Hibernate。通过整合Hibernate之后,我们以操作Java实体的方式最终将数据改变映射到数据库表中。 为了解决抽象各...

architect刘源源
2018/01/14
0
0
springboot 学习笔记【3】Spring Boot中使用Spring-data-jpa

在实际开发过程中,对数据库的操作无非就“增删改查”。就最为普遍的单表操作而言,除了表和字段不同外,语句都是类似的,开发人员需要写大量类似而枯燥的语句来完成业务逻辑。 为了解决这些...

shane_zhou
2016/11/01
891
0
redis作为hibernate的二级缓存

hibernate的二级缓存有好多,像ehcache。不过项目的缓存使用的是redis,而redis官方没有实现hibernate的二级缓存接口,只得自己实现。看看公司的高手如何做的吧。 先看配置: <!-- entityMan...

yybear
2013/01/15
0
6
『Hibernate』基础入门知识

学习java开发肯定要进行框架的学习,框架可以提高开发效率,因为其封装了许多经常被复用的代码,并且框架提供的软件结构能使软件开发更加清晰。 什么是Hibernate? 说Hibernate之前先要介绍一...

dejunz
2016/11/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

利用mybatis generator生成实体类、Mapper接口以及对应的XML文件

项目中通常会遇到数据的持久化,如果是采用mybatis的orm,就会涉及到生成xml的问题,刚好mybatis官网提供了这么个插件MyBatis Generator,效果简直是棒呆。 1. 首先需要在build.gradle文件中...

啊哈关关
今天
2
0
SpringSocial相关的知识点

使用SprigSocial开发第三方登录 核心类 ServiceProvider(AbstractOauth2ServiceProvider):主要负责实现server提供商(例如QQ,微信等共有的东西),默认实现类是AbstractOauth2ServiceProvider...

chendom
今天
1
0
Java并发之AQS详解

一、概述   谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)!   类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源...

群星纪元
昨天
2
0
Fabric-sdk-java最新教程

Fabric Java SDK是Fabric区块链官方提供的用于Java应用开发的SDK,全称为Fabric-sdk-java,网上可用资料不多,本文列出了精心整理的针对Fabric Java SDK的最新精选教程。 如果希望快速掌握F...

汇智网教程
昨天
2
0
react 子组件监听props 变化

componentWillReceiveProps //已经被废弃 getDerivedStateFromProps// 推荐使用//如果条件不存在必须要返回null static getDerivedStateFromProps(props, current_stat...

一箭落旄头
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部