jpa实现只查询指定的字段

目录
  • jpa查询指定的字段
    • 下面是实例代码
  • spring data jpa查询自定义查询字段

jpa查询指定的字段

JpaRepository中new的方式产生新的对象,并配置好其构造函数

JPA对字段命名有一点规则,推荐使用驼峰式命名,如果下面的方法会报错,并且没有明确的报错信息,请先看字段是否合法!!!!!

下面是实例代码

JpaRepository:

@Transactional
public interface PayeeDataRepo extends JpaRepository<PayeeData, String> {
    @Query("select new com.stylefeng.guns.workday.bean.PayeeData(p.id,p.name,p.bankAccountNumberEncode,p.adhocPayeeID,p.isDomestic,p.bankAccountName ) from PayeeData p")
    List<PayeeData> finddAllNoBankNumber();
    }

PayeeData Bean:

public class PayeeData implements Serializable {
   public PayeeData() {
    }
    public PayeeData(String id, String name, String bankAccountNumberEncode, String adhocPayeeID, Integer isDomestic, String bankAccountName) {
        this.id = id;
        this.name = name;
        this.bankAccountNumberEncode = bankAccountNumberEncode;
        this.adhocPayeeID = adhocPayeeID;
        this.isDomestic = isDomestic;
        this.bankAccountName = bankAccountName;
    }
}

spring data jpa查询自定义查询字段

@Query(value = "SELECT a.city city,sum(m.page_view) view from t_ques m " +
            "LEFT JOIN attractions a on m.spot_name=a.name where m.ques_time<= ?1 and a.province_code=?2 GROUP BY a.city ORDER BY view desc", nativeQuery = true)
    List<Map<String, Object>> getHotCity(Date date, String pcode);
List<Map<String, Object>> cityHotBOList = quesRepository.getHotCity(dataDate, pcode);
        if(null == cityHotBOList || cityHotBOList.size() <= 0){
            return null;
        }
        for(int i = 0; i< top && i<cityHotBOList.size();i++){
            Map<String, Object> cityHotBO = cityHotBOList.get(i);
            HotCityResVO hotCityResVO = new HotCityResVO();
            hotCityResVO.setName((String)cityHotBO.get("city"));
            List<Attractions> attractionsList = attractionsRepository.findByCity((String)cityHotBO.get("city"));
            hotCityResVO.setCode(attractionsList.get(0).getCityCode());
            hotCityResVO.setNum((BigDecimal)cityHotBO.get("view"));
            hotCityResVOList.add(hotCityResVO);
        }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • SpringBoot使用JPA实现查询部分字段

    目录 SpringBoot JPA查询部分字段 自定义简单的查询方法 SpringBoot JPA查询部分字段 用过JPA的都知道,只需要继承JpaRepository 根据Jpa的函数命名规范写出接口中的函数,不需要实现,底层就可以自动解析成各种数据库的sql语句,进行增删改查等操作. 自定义简单的查询方法 如findByUserName,findByUserNameOrEmail(String username, String email)等条件的属性名称与个数要与参数的位置与个数一一对应,

  • spring data jpa 查询自定义字段,转换为自定义实体方式

    目标:查询数据库中的字段,然后转换成 JSON 格式的数据,返回前台. 环境:idea 2016.3.4, jdk 1.8, mysql 5.6, spring-boot 1.5.2 背景:首先建立 entity 映射数据库(非专业 java 不知道这怎么说) @Entity @Table(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long

  • 基于JPA查询部分字段的相关事项

    JPA查询部分字段相关事项 JPA使用HQL查询部分字段出错 org.hibernate.hql.internal.ast.QuerySyntaxException: XXX is not mapped 解决 应该@Entity指定name名,name值为对应表名,同@Table的name值相同 使用HQL的注意 1.想要使用JPA查询部分信息,需要使用HQL 2.select需跟实体,可以是map(必须是小写,大写试了下报错),或者是将待查询的字段单独封装成一个实体,new 实体 3.查询的字

  • spring data jpa如何只查询实体部分字段

    需求 现在有一张article表,用来储存文章,对应的实体类如下: package com.qianyucc.blog.model; import lombok.*; import javax.persistence.*; /** * @author lijing * @date 2019-08-05 14:28 * @description 文章 */ @Data @Entity @Table(name = "article") public class Article { @Id

  • jpa实现只查询指定的字段

    目录 jpa查询指定的字段 下面是实例代码 spring data jpa查询自定义查询字段 jpa查询指定的字段 JpaRepository中new的方式产生新的对象,并配置好其构造函数 JPA对字段命名有一点规则,推荐使用驼峰式命名,如果下面的方法会报错,并且没有明确的报错信息,请先看字段是否合法!!!!! 下面是实例代码 JpaRepository: @Transactional public interface PayeeDataRepo extends JpaRepository<Pa

  • MyBatis-Plus 查询指定字段的实现

    首先创建一个数据库表,如下图所示: 然后创建一个Spring Boot项目,pom.xml和配置如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schema

  • SpringBoot+JPA 分页查询指定列并返回指定实体方式

    目录 SpringBoot+JPA分页查询指定列并返回指定实体 SpringBoot JPA实现自定义语句分页查询 SpringBoot+JPA分页查询指定列并返回指定实体 用习惯Mybatis,没用过jpa 真是各种踩坑了 脑壳疼,一个分页弄老半天,原来就一句话的事情,唉 先来说说正常的JPA如何操作 实体类对应表来创建,举个例子 @Entity @Table(name = "td_user") public class TdUser extends BaseModel { priv

  • SpringBoot+JPA 分页查询指定列并返回指定实体方式

    目录 SpringBoot JPA分页查询指定列并返回指定实体 实体类对应表来创建,举个例子 SpringBoot JPA实现自定义语句分页查询 1.JPA持久层 InvoiceRepository.java 2.服务层 SpringBoot JPA分页查询指定列并返回指定实体 用习惯Mybatis,没用过jpa 真是各种踩坑了 脑壳疼,一个分页弄老半天,原来就一句话的事情,唉 先来说说正常的JPA如何操作 实体类对应表来创建,举个例子 @Entity @Table(name = "td_use

  • MySQL使用select语句查询指定表中指定列(字段)的数据

    本文介绍MySQL数据库中执行select查询语句,查询指定列的数据,即指定字段的数据. 再来回顾一下SQL语句中的select语句的语法: Select 语句的基本语法: Select <列的集合> from <表名> where <条件> order by <排序字段和方式> 如果要查询某个表中的指定列的所有数据,则查询语句可以写作: select 列名1,列名2,列名3... from <表名> 要说明一个,这个语句后面仍然可以使用wher

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

    在JPA 2.0 中我们可以使用entityManager.createNativeQuery()来执行原生的SQL语句. 但当我们查询结果没有对应实体类时,query.getResultList()返回的是一个List<Object[]>.也就是说每行的数据被作为一个对象数组返回. 常见的用法是这样的: public void testNativeQuery(){ Query query = entityManager.createNativeQuery("select id, n

  • Laravel Eloquent ORM 实现查询表中指定的字段

    在使用Laravel ORM的Model方法find, get, first方法获取数据对象时返回的数据对象的attributes属性数组里会包含数据表中所有的字段对应的键值关系, 那么如何在ORM查询时只返回数据表中指定字段的数据呢?很多时候,文档上没有写明的用法需要我们去看源码来探究的,下面我们就来看一下这三个方法的实现. 由于ORM依赖了QueryBuilder来实现查询, 在QueryBuilder的源码里通过查看get,first方法的实现可以到,他们都可以接收一个数组参数来指定要查询

  • JPA Specification常用查询+排序实例

    目录 JPA Specification常用查询+排序 1.第一步:继承父类 2.第二步 JPA Specification复杂查询+排序 需求 开始了 一.dao 二.service 三.排序 前端 结束语 JPA Specification常用查询+排序 1.第一步:继承父类 public interface TblCarton2RCardLogRepository extends JpaRepository<TblCarton2RCardLog, String>,JpaSpecifica

  • 使用JPA自定义SQL查询结果

    目录 JPA自定义SQL查询结果 直接上代码 最后跑一下demo代码 JPA的SQL查询 一 点睛 二 JPA的NamedQuery查询 三 使用@Query查询 JPA自定义SQL查询结果 很多时候都会遇到自定义sql,自定义返回字段,而不是pojo类.这个情况要通过接口定义返回. 直接上代码 @Query(value = "select m.field AS field,COUNT(m.field) AS size from MigrationObject m where m.xmlName

随机推荐