hibernate 里想将sql的结果转为对象,但是对象不想再.hb.xml里定义,可以考虑用 ResultTransformer
使用SQL Transformers
List resultWithAliasedBean = s.createSQLQuery(
"SELECT st.name as studentName, co.description as courseDescription " +
"FROM Enrolment e " +
"INNER JOIN Student st on e.studentId=st.studentId " +
"INNER JOIN Course co on e.courseCode=co.courseCode")
.addScalar("studentName")
.addScalar("courseDescription")
.setResultTransformer( Transformers.aliasToBean(StudentDTO.class))
.list();
StudentDTO dto =(StudentDTO) resultWithAliasedBean.get(0);
注意,如果不加上addScalar()调用的话,可能有些属性不会被设置值,因为他们可能是用大写字母返回的。
用Map
指定Transformers.ALIAS_TO_MAP就可以了,如下所示,你不必为了在需要记忆字段对应的位置,因为他们是map
List iter = s.createQuery(
"select e.student.name as studentName," +
" e.course.description as courseDescription" +
"from Enrolment as e")
.setResultTransformer( Transformers.ALIAS_TO_MAP )
.iterate();
String name = (Map)(iter.next()).get("studentName");
原文:http://swik.net/Hibernate/Hibernate+GroupBlog/Hibernate+3.2:+Transformers+for+HQL+and+SQL/cmxs
分享到:
相关推荐
Transformers_Models 变压器模块 Transformers_Models 变压器模块
Transformers
python库。 资源全名:transformers-3.0.2.tar.gz
资源分类:Python库 所属语言:Python 资源全名:transformers-4.1.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源来自pypi官网。 资源全名:sentence-transformers-0.4.1.1.tar.gz
图书简介 该书将带您学习使用Python的NLP,并研究了由Google,Facebook,Microsoft,OpenAI和Hugging Face等先驱者创建的变压器体系结构中的各种杰出模型和数据集。 这本书分三个阶段训练您。...
基于 pytorch-transformers 实现的 BERT 中文文本分类代码 数据: 从 THUCNews 中随机抽取20万条新闻标题,一共有10个类别:财经、房产、股票、教育、科技、社会、时政、体育、游戏、娱乐,每类2万条标题数据。数据...
资源来自pypi官网。 资源全名:transformers-4.7.0-py3-none-any.whl
资源来自pypi官网。 资源全名:transformers-0.1.tar.gz
资源来自pypi官网。 资源全名:pytorch-fast-transformers-0.2.2.tar.gz
资源分类:Python库 所属语言:Python 资源全名:taming-transformers-0.0.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
Laravel开发-transformers 简单的Laravel雄辩模型变压器。
资源分类:Python库 所属语言:Python 资源全名:pytorch-fast-transformers-0.3.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
基于transformers+bert预训练模型在语义相似度任务上的finetune
可用于语义聚合任务中的文本编码器,它将句子和段落映射到 768 维密集向量空间,是 sentence_transformers 库的模型之一,官网下载速度缓慢,容易被墙,下载解压后,可以参考此文章进行模型本地加载 ...
资源分类:Python库 所属语言:Python 资源全名:adapter_transformers-2.1.1-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding论文翻译
Laravel开发-laravel-transformers 在Laravel中使用变形金刚作为雄辩模型的一种方法。
SOTR Segmenting Objects with Transformers.pdf