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
分享到:
相关推荐
《Python库 Transformers 3.0.2:深度学习与自然语言处理的利器》 Python库Transformers是由Hugging Face团队开发的一个强大工具包,主要用于自然语言处理(NLP)任务,如文本分类、问答系统、机器翻译等。该库的...
在Python的世界里,PyPI(Python Package Index)是广大开发者获取和分享开源软件包的重要平台。今天我们要关注的是一个名为"transformers"的库,其在PyPI上的资源全称为"transformers-0.1.tar.gz"。这个压缩包包含...
总结起来,Hibernate的本地SQL查询功能为我们提供了一种灵活的方式来执行复杂的数据库操作,同时通过`addEntity()`、`addScalar()`和`Transformers.aliasToBean()`等方法,我们可以方便地将查询结果封装成Java对象,...
要离线使用,首先需要在有网络的时候通过`save_pretrained()`方法保存模型和tokenizer到本地,然后在无网络环境里通过`from_pretrained()`方法指定本地路径加载。 5. **解决"No module named…"错误**:如果遇到找...
在Python的世界里,高效地处理自然语言任务已经成为一个不可或缺的能力,而`transformers`库正是这样一款强大的工具。这款资源来源于Python的官方软件包仓库PyPI(Python Package Index),版本号为4.7.0,适用于...
《Transformers for Natural Language Processing》是一本深入探讨自然语言处理(NLP)领域的专著,主要聚焦于Transformer架构,这是由Google等领先科技公司引入的一种革新性深度学习模型。本书旨在教你如何使用...
标题中的"PyPI 官网下载 | sentence-transformers-0.4.1.1.tar.gz"指的是Python的包管理器PyPI(Python Package Index)上发布的sentence-transformers库的一个特定版本,0.4.1.1。PyPI是Python开发者发布和分享自己...
然后在查询时,使用`Criteria` API的`setResultTransformer()`方法,传入`Transformers.aliasToBean()`和自定义比较器。 总结来说,解决Hibernate中MySQL的中文排序问题需要关注以下几个方面: 1. 确保MySQL数据库...
### Hibernate中使用SQL而非HQL语句的知识点详解 在Java开发中,Hibernate作为一个非常流行的ORM框架,提供了多种查询方式,其中就包括了HQL(Hibernate Query Language)和原生SQL查询。本文将针对给定代码片段中...
Transformers for Machine Learning A Deep Dive
《PyTorch Fast Transformers库详解》 在Python的深度学习领域,PyTorch是一个不可或缺的框架,它提供了灵活且强大的工具来构建和训练神经网络。而PyTorch Fast Transformers是针对Transformer模型的一个优化库,...
在进行Transformers学习之前,首要任务是正确地配置代码环境,确保所有必要的工具和库都能正常运行。本教程将指导你完成Windows 11系统下的环境配置步骤。 首先,我们需要下载代码文件。Transformers库通常与相关的...
《PyTorch与Fast-Transformers:探索深度学习的高效工具》 PyTorch作为一款强大的深度学习框架,因其灵活性和易用性深受广大开发者喜爱。而`pytorch-fast-transformers-0.1.2.tar.gz`这个压缩包,正是为PyTorch提供...
标题中的"Transformers"指的是变形金刚,这在IT领域可能是指一种设计模式或者与图形、字体设计相关的主题。然而,考虑到提供的标签是“字体”,我们可以推测这里的核心知识点是与变形金刚主题相关的字体设计。 ...
资源分类:Python库 所属语言:Python 资源全名:transformers-4.1.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
标题中的“基于transformers+bert预训练模型在语义相似度任务上的finetune”指出,这个项目关注的是如何利用transformers库以及BERT(Bidirectional Encoder Representations from Transformers)预训练模型来微调...
在"Transformers_Models 变压器模块"中,我们可以探讨以下几个关键知识点: 1. **自注意力机制**:自注意力允许模型在处理每个位置时考虑所有其他位置的信息,通过计算不同位置之间的相似度来生成权重,形成对输入...
《基于Sentence-Transformers实现文本转向量的机器人》是一个典型的计算机科学领域的项目,适用于毕业设计或课程作业。这个项目的核心是使用Sentence-Transformers库来处理文本数据,将其转化为向量表示,以便进行...
【自然语言处理与Transformers入门】 自然语言处理(NLP)是人工智能领域的一个重要分支,主要涉及理解、生成和分析人类语言。近年来,基于Transformer架构的模型在NLP任务中取得了显著的成就,如BERT...
基于 pytorch-transformers 实现的 BERT 中文文本分类代码 数据: 从 THUCNews 中随机抽取20万条新闻标题,一共有10个类别:财经、房产、股票、教育、科技、社会、时政、体育、游戏、娱乐,每类2万条标题数据。数据...