Projection投影

解释一

Projection means choosing which columns (or expressions) the query shall return.

Selection means which rows are to be returned.

if the query is

select a, b, c from foobar where x=3;

then “a, b, c” is the projection part, “where x=3” the selection part.

解释二

In terms of query it is:

SELECT *PROJECTION* FROM Table

*PROJECTION* is expression for data transformation.

Example:

SELECT * FROM ORDER

In Hibernate, the Criteria equivalent would be:

List orders = session.createCriteria(Order.class).list();

No projection here, we take data without transformation. If we want one:

SELECT NAME FROM PRODUCT

Here, the Projection class comes into play. The above query can be rewritten into a Criteria query as:

List products=session.createCriteria(Product.class).setProjection(Projection.property("name")).list();

So we project all rows to single item: name field.

There are other projections: Projection.rowCount() for example (for COUNT(*))

参考资料

  1. What are projection and selection?
  2. What is a Projection in NHibernate?
  3. Hibernate 4.3.11 Final - Relational Persistence for Idiomatic Java

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/445960.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FFmpeg源代码简单分析-解码-avformat_find_stream_info()

参考链接 FFmpeg源代码简单分析:avformat_find_stream_info()_雷霄骅的博客-CSDN博客_avformat_find_stream_info avformat_find_stream_info() ​该函数可以读取一部分视音频数据并且获得一些相关的信息avformat_find_stream_info()的声明位于libavformat\avform…

Tail Recursion尾递归

什么是尾递归 Tail Recursion /teɪl rɪˈkɜːrʒn/ In traditional recursion, the typical model is that you perform your recursive calls first, and then you take the return value of the recursive call and calculate the result. In this manner, you don’t g…

python递归算法案例教案_python教案

第五单元进阶程序设计(总10课时)第一节选择编程语言(1课时)一、教学目标1、了解程序设计语言和两种翻译方式;2、了解Python背景、功能、安装,熟悉Python编程环境;3、编程初体验。体验一个小程序从建立、输入、调试、运行、保存的全过程。掌握…

FFmpeg源代码简单分析-解码-av_read_frame()

参考链接 ffmpeg 源代码简单分析 : av_read_frame()_雷霄骅的博客-CSDN博客_ffmpeg frame av_read_frame() ffmpeg中的av_read_frame()的作用是读取码流中的音频若干帧或者视频一帧。例如,解码视频的时候,每解码一个视频帧,需要…

数据库 流量切分_私域流量之社群运营技巧,社群运营技巧解析

一、明白社群运营的目的1、社群的目的确立任何一个社群(组织)成立的时分,都是承载着一定的目的的,这个目的就像是北极星一样,指引着我们的方向。确立运营目的的过程,也是在寻觅北极星的过程。社群运营属于触达用户的一种方式&…

用Python在Tomcat成功启动后自动打开浏览器访问Web应用

前提条件 WindowsPython 2.7需设置CATALINA_HOME环境变量 放码过来 # -*- coding: utf-8 -* import os import time import subprocesstomcatStartFilePath C:\\tomcat\\apache-tomcat-7.0.90-windows-x64\\apache-tomcat-7.0.90\\bin\\startup.bat browserPath C:\\Users…

FFmpeg源代码简单分析-解码-avcodec_send_packet 和 avcodec_receive_frame 替代 avcodec_decode_video2

参考链接 ffmpeg 源代码简单分析 : avcodec_decode_video2()_雷霄骅的博客-CSDN博客_avcodec_decode_video2 avcodec_decode_video2 ffmpeg中的avcodec_decode_video2()的作用是解码一帧视频数据。输入一个压缩编码的结构体AVPacket,输出一个解码后的结…

FFmpeg源代码简单分析-解码-avformat_close_input()

参考链接 FFmpeg源代码简单分析:avformat_close_input()_雷霄骅的博客-CSDN博客_avformat_close_input avformat_close_input() 本文简单分析FFmpeg的avformat_close_input()函数。该函数用于关闭一个AVFormatContext,一般情况下是和avformat_open_inp…

android 使用shell模拟触屏_[Android]通过adb shell input上报命令模拟屏幕点击事件【转】...

常用的 input上报命令:input text 1234 实际向界面注入1234文字,有输入框,能明显看到效果input keyevent 4 键盘事件,4 为返回input tap 100 300 单击触屏事件 ,模拟点击x100 y 300 位置input swipe 100 300 500 300 …

用Python连接MySQL并进行CRUD

Tag: MySQL, PyMySQL, Python 准备条件 Python 2.7MySQL 5.5安装 PyMySQL pip install PyMySQL 放码过来 创建一数据表 CREATE TABLE users (id int(11) NOT NULL AUTO_INCREMENT,email varchar(255) COLLATE utf8_bin NOT NULL,password varchar(255) COLLATE utf8_bin N…

python网络爬虫的方法有几种_Python网络爬虫过程中5种网页去重方法简要介绍

一般的,我们想抓取一个网站所有的URL,首先通过起始URL,之后通过网络爬虫提取出该网页中所有的URL链接,之后再对提取出来的每个URL进行爬取,提取出各个网页中的新一轮URL,以此类推。整体的感觉就是自上而下进…

FFmpeg源代码简单分析-编码-avformat_alloc_output_context2()

参考链接 FFmpeg源代码简单分析:avformat_alloc_output_context2()_雷霄骅的博客-CSDN博客_avformat_alloc_context avformat_alloc_output_context2() 在基于FFmpeg的视音频编码器程序中,该函数通常是第一个调用的函数(除了组件注册函数av…

《深入理解JVM.2nd》笔记(一):走进Java

概述 Java技术体系 Java程序设计语言各种硬件平台上的Java虚拟机Class文件格式Java API类库来自商业机构和开源社区的第三方Java类库 Java发展史 Java虚拟机发展史 展望Java技术的未来 模块化 混合语言 多核并行 进一步丰富语法 64位虚拟机 实战:自己编译…

js监听只读文本框_js 动态控制 input 框 的只读属性

input 框的只读属性: readonly在页面中直接添加为只读时,可在input中直接添加 readonly"readonly",但是如果想通过点击按钮来改变的话,需要通过js(或jquery)来实现。最近一次使用这个,终于发现了以前写这…

FFmpeg源代码简单分析-编码-avformat_write_header()

参考链接 FFmpeg源代码简单分析:avformat_write_header()_雷霄骅的博客-CSDN博客_avformat_write_header avformat_write_header() FFmpeg写文件用到的3个函数:avformat_write_header(),av_write_frame()以及av_write_trailer()其中av_writ…

《深入理解JVM.2nd》笔记(二):Java内存区域与内存溢出异常

文章目录概述运行时数据区域程序计数器Java虚拟机栈本地方法栈Java堆方法区运行时常量池直接内存HotSpot虚拟机对象探秘对象的创建第一步第二步第三步第四步最后一脚对象的内存布局对象头Header第一部分第二部分实例数据Instance对齐填充Padding对象的访问定位句柄直接指针对象…

vue底部选择器_Vue组件-极简的地址选择器

一、前言本文用Vue完成一个极简的地点选择器,我们接下来带大家实现这个。当然其中也有一些值得学习与注意的地方。话不多说,我们先上demo图。因为每个人的需要不一样,我这边就不在实现更多的功能,所以留有更大的空间供大家增删改。…

FFmpeg源代码简单分析-编码-avcodec_encode_video()已被send_frame 和 receive_packet替代

参考链接 FFmpeg源代码简单分析:avcodec_encode_video()_雷霄骅的博客-CSDN博客_avcodec_encode_video2 avcodec_encode_video() 该函数用于编码一帧视频数据。函数已被弃用参考链接:FFmpeg 新旧版本编码 API 的区别_zouzhiheng的博客-CSDN博客 send_f…

《深入理解JVM.2nd》笔记(三):垃圾收集器与垃圾回收策略

文章目录概述对象已死吗引用计数算法可达性分析算法再谈引用finalize():生存还是死亡回收方法区垃圾收集算法标记-清除算法复制算法标记-整理算法分代收集算法HotSpot的算法实现枚举根结点安全点安全区域垃圾收集器SerialParNewParallel ScavengeSerial OldParallel…

python计算股票趋势_通过机器学习的线性回归算法预测股票走势(用Python实现)...

1 波士顿房价数据分析安装好Python的Sklearn库后,在安装包下的路径中就能看到描述波士顿房价的csv文件,具体路径是“python安装路径\Lib\site-packages\sklearn\datasets\data”,在这个目录中还包含了Sklearn库会用到的其他数据文件&#xff…