最后一种映射类型,就是实体与标量值的组合
@SqlResultSetMapping
(
name="ReturnOrderListWithPartEntityPartScalarType",
entities=
{
@EntityResult
(
entityClass=entity.Order.class,
fields=
{
@FieldResult(name="id",column="order_id"),
@FieldResult(name="date",column="order_creation_date"),
@FieldResult(name="desc",column="order_description"),
@FieldResult(name="sum",column="order_sum_total")
}
),
@EntityResult
(
entityClass=entity.Customer.class,
discriminatorColumn="customer_type",
fields=
{
@FieldResult(name="id",column="customer_id"),
@FieldResult(name="ctype",column="customer_type")
}
)
},
columns=
{
@ColumnResult(name="customer_name")
}
)
我们将结果集中与订单有关的保存进Order Entity,把与Customer有关的,将id和customer type 保存进Customer Entity,把customer name保存进标量。
经过运行测试程序,得到
*****ReturnOrderListWithPartEntityPartScalarType*****
entity.Order@48edb5 entity.GoldenCustomer@1ee2c2c John Smith
entity.Order@1402d5a entity.GoldenCustomer@1ee2c2c John Smith
entity.Order@1e13e07 entity.GoldenCustomer@1ee2c2c John Smith
综上所述,我们可以采取多种resultset映射机制来保存用本地查询得到的结果集,具体采取哪种要看具体的情况,要继续了解这方面的知识。
分享到:
相关推荐
SpringDataJpa 动态复杂查询NativeQuery emm挺长时间没更新了,最近在忙项目,外加搬家,后续会继续更新 遇到一个复杂的sql查询,在不通过外键关联的情况下,只能选择使用原生sql的方式查询,但是遇到一个极其XX的...
让JPA的Query查询接口返回Map对象的方法 JPA(Java Persistence API)是一种java持久层标准,提供了统一的数据访问机制。其中的Query查询接口是我们常用的数据查询方式。然而,在JPA 2.0中,使用entityManager....
总结来说,JPA中的@Query注解允许开发者灵活地执行自定义SQL查询,结合Pageable接口可以轻松实现分页查询。在处理大量数据时,这种分页策略能够显著提高应用的性能和用户体验。通过理解并掌握这些知识,开发者可以更...
value 参数指定查询语句,而 nativeQuery 参数指定是否使用原生 SQL 语句。 使用 @Query 注解的优点: * 可以使用 JPQL 语句或原生 SQL 语句来定义查询语句 * 可以使用参数来定义查询语句 * 可以使用 @Param 注解...
在Java Persistence API (JPA)中,`@Query`注解是用于自定义查询的一种方式,它可以让我们在Repository接口中直接编写SQL或者HQL(Hibernate Query Language)来执行数据库操作。在本例中,我们将详细探讨如何使用`@...
6. 原生查询:对于JPA无法处理的复杂查询,Spring Data JPA还提供了`@Query nativeQuery = true`选项,允许我们编写原生的SQL查询。 在"Spring Data JPA入门项目02"中,你将学习如何在实际项目中应用这些概念,创建...
在处理复杂查询时,我们可以利用Spring Data JPA中的`@Query`注解来编写自定义SQL或者HQL(Hibernate Query Language)语句。本篇文章将深入探讨如何在`@Query`中使用对象参数进行INSERT操作。 首先,让我们理解...
4. **原生SQL**:`@Query`还支持执行原生SQL查询,只需在HQL查询前添加`nativeQuery = true`。 总的来说,Spring Boot提供了多种查询方式,`@Query`注解是其中一种强大的工具,它允许开发者灵活地定制查询逻辑,以...
除了HQL,`@Query`也支持原生的SQL查询,只需要在查询字符串前加上`nativeQuery = true`即可: ```java @Query(value = "SELECT * FROM users WHERE id = ?1", nativeQuery = true) User findUserById(Long id); ``...
通过 `@Query` 注解可以在 Repository 方法上添加自定义的 JPQL 或 Native SQL 查询。 **9. 分页与排序** Spring Data JPA 提供了分页和排序的支持,可以通过 `Pageable` 参数实现。 **10. 异常处理** 在使用 ...
@Query(value = "INSERT INTO t_student(seq, name, sex) VALUES (getseq('student_seq'), :#{#student.name}, :#{#student.sex})", nativeQuery = true) int insert(@Param("student") StudentDO student); ``` ...
OpenJPA2还提供了查询语言JPA QL(Java Persistence Query Language),可以用来执行更复杂的查询。此外,OpenJPA2支持懒加载、级联操作、缓存策略等高级特性,这些在实际项目中都是很实用的功能。 通过这个简单的...
- **JPQL**:Java Persistence Query Language,一种面向对象的查询语言,类似于SQL但更加面向对象。 - **Criteria API**:提供了一种类型安全的方式构建查询,适用于复杂的查询场景。 - **Native SQL**:直接执行...
例如,使用@Query(value="select * from C_Article where type=:type \n--#pageable\n",countQuery="select count(*) from C_Article where type=:type",nativeQuery=true)可以实现分页查询。但是,需要注意的是,在...
此外,`@NativeQuery`可以用来执行SQL原生查询。 **6. 抽象Repository** 为了减少重复的Repository接口定义,Spring Data JPA提供了基类,如`PagingAndSortingRepository`,它增加了分页和排序的功能。开发者可以...
@Query(value = select username from user,nativeQuery = true) // 注意返回值用String类型接收,也可以使用Object String findOneUserName(); 二、单表查询的一个字段、多条数据 @Query(value = select distinct ...
总结来说,Native SQL查询在Hibernate中提供了对数据库的直接访问,允许开发者利用SQL的强大功能,同时保持了与ORM框架的兼容性。虽然HQL通常更为简便且易读,但在处理复杂查询或充分利用数据库特性时,Native SQL是...
更复杂的查询可以通过@Query注解,直接编写JPQL(Java Persistence Query Language)或native SQL。 7. **事务管理**:Spring Data JPA利用Spring的声明式事务管理,只需在方法上添加@Transactional注解,即可实现...
JPA 2.0 版本引入了更多的功能,如 Criteria 查询、 NamedQuery 和 Native Query,以及支持多态性、延迟加载等高级特性。 在Spring 2.0中集成JPA,可以利用Spring的数据访问抽象层,如JdbcTemplate和...
- **Queries**:除了基本的CRUD操作外,JPA还提供了一种强大的查询语言——JPQL(Java Persistence Query Language),它可以用来执行复杂的查询操作。此外,还可以使用Criteria API或Native SQL查询。 #### 四、...