`
namezhou
  • 浏览: 158713 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hibernate使用sqlquery原生查询转换到自定义实体

 
阅读更多

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

 

如session.createSQLQuery(sql).addEntity(Classclass);注意hibernate3.0.5不支持,单个参数的addEntity方法

 

另外,hibernate3.2可以对原生sql查询使用ResultTransformer。这会返回不受Hibernate管理的实体。

session.createSQLQuery("SELECT NAME, BIRTHDATE FROM PRODUCT")

       .setResultTransformer(Transformers.aliasToBean(MyDTO.class))

 

或setResultTransformer(new AliasToBeanResultTransformer(MyDTO.class))

上面的查询将会返回CatDTO的列表,它将被实例化并且将NAME和BIRTHDAY的值注射入对应的属性或者字段。

分享到:
评论

相关推荐

    hibernate将本地SQL查询结果封装成对象

    首先,本地SQL查询(Native SQL)是指直接在Hibernate中使用原生的SQL语句进行查询,而不是使用HQL(Hibernate Query Language)。这允许开发者充分利用SQL的功能,比如进行复杂的统计计算或者处理特定数据库的特性...

    hibernate将本地SQL查询结果封装成对象(最终).zip

    - `SQLQuery`对象:通过`Session.createSQLQuery()`方法创建,用于执行自定义SQL查询。 - 结果集转换:`addEntity()`方法用于指定查询结果应被映射到哪个实体类,`list()`或`scroll()`方法执行查询并返回结果集,...

    Hibernat使用原生的SQL

    标题 "Hibernat使用原生的SQL" 涉及的是在Java开发中如何利用Hibernate框架执行自定义的SQL语句。Hibernate是一个流行的Object-Relational Mapping (ORM) 工具,它允许开发者以面向对象的方式操作数据库,而无需直接...

    springboot利用jpa连接hibernate用法2

    - **读取(Read)**: 可以通过`findById()`获取单个实体,`findAll()`获取所有实体,或者使用自定义的JPA查询方法。 - **更新(Update)**: 修改实体属性后,调用`save()`方法,Hibernate会更新对应记录。 - **...

    一个基于原生Java代码查询方式的JPA查询框架.zip

    标题“一个基于原生Java代码查询方式的JPA查询框架.zip”指的是一个使用Java Persistence API(JPA)的查询框架,该框架允许开发者使用原生的Java代码进行数据库查询,而不是依赖于HQL(Hibernate Query Language)...

    HIbernate PPT

    9. **9数据检索之原生SQL.ppt**:演示了如何在Hibernate中使用原生SQL查询,以及结果集的映射。 10. **10数据加载方式.ppt**:可能包含了各种数据加载方式,如单个对象、集合的加载,以及查询优化技巧。 通过这些...

    hibernate5.2.7-src源码

    3. 查询机制:Hibernate提供HQL(Hibernate Query Language)和Criteria API两种查询方式,此外,还支持原生SQL查询,满足不同场景需求。 4. 缓存机制:Hibernate包含一级缓存(Session级缓存)和二级缓存...

    hibernate_reference.pdf

    4. **查询语言**:重点介绍了 Hibernate 查询语言(HQL)的使用方法,以及如何通过 Criteria API 和 Native SQL 查询来操作数据。 5. **性能优化**:这部分内容覆盖了缓存机制、懒加载、批量更新/删除等性能优化技术...

    hibernate动态数据库进化版

    例如,使用`org.hibernate.boot.model.naming.PhysicalNamingStrategy`接口来自定义表名生成策略,或者利用`Session.createSQLQuery()`方法直接执行原生SQL。 2. **多数据库支持**:为了适应不同的数据库,如MySQL...

    ORM hibernate。jar包

    4. **Criteria查询和HQL**:Hibernate提供了两种查询方式,一是原生的SQL,二是HQL(Hibernate Query Language),类似于SQL但面向对象。Criteria API提供了一种类型安全的查询方式,无需编写字符串查询,更易于维护...

    Hibernate3.2API文档

    4. **HQL**:Hibernate Query Language 是 Hibernate 自定义的查询语言,类似于 SQL,但更面向对象。HQL 可以用来查询、更新和删除持久化类的对象,提供了类型安全和数据库独立性。 5. **Query 和 NativeSQL**:...

    hibernate>>BaseDAO

    4. **HQL和SQL查询**:`BaseDAO`可能包含执行HQL(Hibernate Query Language)或原生SQL查询的方法。HQL是Hibernate提供的面向对象的查询语言,它可以更自然地表达面向对象的查询。而原生SQL查询则可以用于处理更...

    hibernate-orm-5.0源代码

    Hibernate的查询引擎支持HQL和JPQL,以及原生SQL。查询解析器将查询语句转换为执行计划,然后由执行器执行。同时,它还支持 Criteria API 和 Criteria Builder,提供更灵活的查询方式。 5. **缓存策略** ...

    hibernate连接oracle的jar包

    9. **查询语言HQL和SQL**:Hibernate提供了一种面向对象的查询语言——HQL(Hibernate Query Language),以及对原生SQL的支持。我们可以根据需求选择合适的查询方式。 10. **缓存机制**:Hibernate提供了第一级...

    hibernate 中文注解

    - **映射本地化查询:** 使用`@SQL`注解执行原生SQL查询。 #### 五、Hibernate独有的注解扩展 - **实体:** `@Entity`注解用于标记一个类为实体类。 - **标识符:** `@Id`注解用于标记主键字段。 - **属性:** - *...

    hibernate_reference_anotation 3.5.0-final pdf

    - **原生 SQL 查询映射**:使用 `@NamedNativeQuery` 定义原生 SQL 查询,通过 `@SqlResultSetMapping` 注解映射查询结果。 #### 五、元数据覆盖 ##### 5.1 原则 - **全局级别元数据**:通过 persistence.xml 文件...

    Hibernate程序高手秘笈.part10-11.rar

    4. **Native SQL查询**:在某些场景下,可能需要使用原生SQL查询,这部分会讲解如何在Hibernate中使用和管理原生SQL。 5. **分页与排序**:在大数据量检索时,分页和排序至关重要,这部分会展示如何在Hibernate中...

    hibernate培训

    - Hibernate支持HQL(Hibernate Query Language)和Criteria API,它们提供了更面向对象的查询方式,相比SQL更易读且更安全。 - 也支持原生SQL查询,以应对复杂场景。 9. **Hibernate最佳实践**: - 使用事务...

    hibernate-annotations-3.4.0.GA.chm中文版

    10. **查询注解**:@NamedQuery和@NamedNativeQuery可以预先定义JPA和原生SQL查询,提高代码可读性和复用性。 11. **元数据注解**:@TableGenerator和@SequenceGenerator用于定义生成主键的元数据源。 通过深入...

    让JPA的Query查询接口返回Map对象的方法

    query.unwrap(SQLQuery.class).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); List rows = query.getResultList(); for (Object obj : rows) { Map row = (Map) obj; System.out.println("id = " +...

Global site tag (gtag.js) - Google Analytics