atitit. orm框架的hibernate 使用SQLQuery createSQLQuery addEntity

1. addEntity

对原生SQL查询运行的控制是通过SQLQuery接口进行的。通过运行Session.createSQLQuery()获取这个接口。最简单的情况下,我们能够採用下面形式:

List cats = sess.createSQLQuery( " select * from cats " ).addEntity(Cat. class ).list();

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

2. addEntity  占位符 别名

这里,结果集字段名被如果为与映射文件里指明的字段名相同。对于连接了多个表的查询。这就可能造成问题,由于可能在多个表中出现相同名字的字段。

以下的方法就能够避免字段名反复的问题:

List cats = sess.createSQLQuery( " select {cat.*} from cats cat " ).addEntity( " cat " , Cat. class ).list();

这个查询指定了:

SQL查询语句。它带一个占位符,能够让Hibernate使用字段的别名.

查询返回的实体,和它的SQL表的别名.

addEntity()方法将SQL表的别名和实体类联系起来。而且确定查询结果集的形态。

3. 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();

4. 參考

hibernate里createSQLQuery的addEntity()和setResultTransformer()方法 - 正走向大牛的菜鸟 - ITeye技术站点.htm

atitit. orm框架的hibernate 使用SQLQuery createSQLQuery addEntity的更多相关文章

  1. hibernate中SQLQuery的addEntity()方法

    如果使用原生sql语句进行query查询时,hibernate是不会自动把结果包装成实体的.所以要手动调用addEntity(Class class)等一系列方法. 如session.createSQ ...

  2. ORM框架 Mybatis、Hibernate、Spring Data JPA之到底该用谁,谁更牛*

    在持久层框架中无可厚非的就是mybatis了,但是也会经常被人问到为啥要用mybatis,为啥不用hibernate,jpa.很多人各级都是地铁爷爷看手机的表情,似乎从来没想过这个问题.“公司叫用我就 ...

  3. ORM框架通过映射(反射)获取数据库的数据

    ORM(Object Relational Mapping)框架采用元数据来描述对象一关系映射细节,元数据一般采用XML格式,并且存放在专门的对象一映射文件中.只要提供了持久化类与表的映射关系,ORM ...

  4. 【ORM框架】Spring Data JPA(一)-- 入门

    本文参考:spring Data JPA入门   [原创]纯干货,Spring-data-jpa详解,全方位介绍  Spring Data JPA系列教程--入门 一.Spring Data JPA介 ...

  5. Java回顾之ORM框架

    这篇文章里,我们主要讨论ORM框架,以及在使用上和JDBC的区别. 概述 ORM框架不是一个新话题,它已经流传了很多年.它的优点在于提供了概念性的.易于理解的数据模型,将数据库中的表和内存中的对象建立 ...

  6. 基于java注解实现自己的orm框架

    ORM即Object Relation Mapping,Object就是对象,Relation就是关系数据库,Mapping映射,就是说Java中的对象和关系数据库中的表存在一种对应关系. 现在常见的 ...

  7. 学习ORM框架—hibernate(三):跟踪持久化对象状态,掌握对象持久化

    准备工作 在上篇博客中学习ORM框架—hibernate(一):初识hibernate,通过简单的实例说明O和R的映射过程.本篇博客将要介绍hibernate中持久化对象的状态,并使用hibernat ...

  8. hibernate框架学习之使用SQLQuery查询数据

    SQLQuery对象的获取 Hibernate支持使用原生SQL语句进行查询,通过session对象获得SQLQuery对象进行,需要传入SQL语句 SQLQuery createSQLQuery(S ...

  9. 5 -- Hibernate的基本用法 --1 3 流行的ORM框架简介

    ⊙ JPA : JPA本身只是一种ORM规范,并不是ORM产品.它是Java EE规范制定者向开源世界学习的结果.JPA实体与Hibernate PO十分相似,甚至JPA实体完全可作为Hibernat ...

随机推荐

  1. 2018.8.23几日重新编译OSG+OE+Qt遇到的问题

    Qt安装多个版本的时候,注意屏蔽掉不使用的Qt,例如OE中的CMakeLists.txt中的# FIND_PACKAGE(Qt4) 使用以前编译好的libcurl.dll现在出现"无法定位序 ...

  2. U3D调用7z解压文件

    using UnityEngine; using System; using System.IO; using System.Diagnostics; public class Test : Mono ...

  3. mybatis 之 parameterType="List" 2

    <select id="queryGoodsByGoodsNoPcweb" parameterType="List" resultMap="si ...

  4. 【转载】.NET 开发者必备的工具箱

    本文作者Spencer是一名专注于ASP.NET和C#的程序员,他列举了平时工作.在家所使用的大部分开发工具,其中大部分工具都是集中于开发,当然也有一些其它用途的,比如图片处理.文件压缩等. 如果你是 ...

  5. SqlServer中循环查询结果集

    ); begin ; open c_test_main;--打开游标 --开始循环 begin fetch next from c_test_main into @id,@value; --赋值到变量 ...

  6. echarts - 特殊需求实现代码汇总之【饼图】篇

    2018-07-24 15:36:43 起 - 饼图单项不同颜色的设置 效果图: 实现: 说明: 其实很简单,就是设置全局的color属性即可.color属性可以是一套数组,里边的样式以字符串格式设置 ...

  7. MFC 常见问题

    一 常见变量获得 CDC * cDc=GetDC(); HDC m_Screenhdc = this->GetDC()->m_hDC; //  整个窗口客户区的坐标 this->Ge ...

  8. 原生js--兼容获取窗口滚动条位置和窗口大小的方法

    各个浏览器对获取获取窗口滚动条位置和窗口大小没有提供统一的API,以下是对其封装,解决兼容性问题 /** * 获取浏览器视口的大小(显示文档的部分) *  */function getViewPort ...

  9. 题目1016:火星A+B(进制新问题)

    题目链接:http://ac.jobdu.com/problem.php?pid=1016 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...

  10. 2015.8.2js-19(完美运动框架)

    /*完美运动框架*/ //1.先清除定时期,2,获取样式,如果是opacity则单独解决,3,定义速度,4,定义当前值是否到达目的地,5,判断当前值是否到达目的地,6运动基本,如果是opacity f ...