jpa實現(xiàn)只查詢指定的字段
jpa查詢指定的字段
JpaRepository中new的方式產(chǎn)生新的對象,并配置好其構(gòu)造函數(shù)
JPA對字段命名有一點規(guī)則,推薦使用駝峰式命名,如果下面的方法會報錯,并且沒有明確的報錯信息,請先看字段是否合法?。。。?!
下面是實例代碼
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);
}
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Mybatis如何通過接口實現(xiàn)sql執(zhí)行原理解析
為了簡化MyBatis的使用,MyBatis提供了接口方式自動化生成調(diào)用過程,可以大大簡化MyBatis的開發(fā),下面這篇文章主要給大家介紹了關于Mybatis如何通過接口實現(xiàn)sql執(zhí)行原理解析的相關資料,需要的朋友可以參考下2023-01-01
vue數(shù)據(jù)響應式原理重寫函數(shù)實現(xiàn)數(shù)組響應式監(jiān)聽
Vue的通過數(shù)據(jù)劫持的方式實現(xiàn)數(shù)據(jù)的雙向綁定,即使用Object.defineProperty()來實現(xiàn)對屬性的劫持,但是Object.defineProperty()中的setter是無法直接實現(xiàn)數(shù)組中值的改變的劫持行為的,需要的朋友可以參考下2023-05-05
SpringBoot實現(xiàn)全局異常的封裝和統(tǒng)一處理
在Spring Boot應用中,全局異常的處理是一個非常重要的方面,本文主要為大家詳細介紹了如何在Spring Boot中進行全局異常的封裝和統(tǒng)一處理,需要的可以參考下2023-12-12
SpringBoot實現(xiàn)任意位置獲取HttpServletRequest對象
這篇文章主要介紹了SpringBoot實現(xiàn)任意位置獲取HttpServletRequest對象,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11

