国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

java - JPA 中自定義對象和原生對象屬性名不一致怎么解決?

瀏覽:140日期:2023-12-19 13:38:49

問題描述

有如下段代碼 其中person是jpa的entity對象,personResult是自定義對象

@Query(select new com.xx.yy.PersonResult(p.id,p.name,p.age) from Person p) List<PersonResult> findPersonResult();

這樣執(zhí)行是可以的,但是如果我其中的personResult對象中的id是叫personId,上面的代碼該如何改?

我用過

@Query(select new com.xx.yy.PersonResult(p.id as personId,p.name,p.age) from Person p) List<PersonResult> findPersonResult();

會報(bào)錯,是不是jpql new對象的時(shí)候不支持別名嗎?

問題解答

回答1:

你的代碼

@Query(select new com.xx.yy.PersonResult(p.id as personId,p.name,p.age) from Person p) List<PersonResult> findPersonResult();

你把a(bǔ)s去掉就可以了,jpa是不支持這種語法的。

關(guān)于你的問題:Entity 和你自定義的類屬性名稱不一樣的問題,你大可不必?fù)?dān)心,使用select new xx.xx.PersonResult(p.id,p.name.p.age) 語法時(shí),jpa不會關(guān)心真實(shí)的字段叫什么名字,只要字段類型一致就可以了,因?yàn)檫@里采用是Java的構(gòu)造函數(shù)。調(diào)用構(gòu)造函數(shù)時(shí)只需要關(guān)心需要傳入幾個參數(shù)以及參數(shù)的類型

看下我代碼,這樣會直觀一點(diǎn)

@Query('select new com.zfxiao.pojo.AnnotherPerson(p.id,p.name,p.age) from Person p ')List<AnnotherPerson> findAnnotherPerson()

AnnotherPerson的構(gòu)造函數(shù)

public AnnotherPerson(Long personId, String name, Integer age) { this.personId = personId; this.name = name; this.age = age;}

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 国产一区二区三区精品视频 | 12一15女人a毛片 | 曰本女人色黄网站 | 国产一区二区三区精品视频 | 午夜丝袜美腿福利视频在线看 | 天天澡天天碰天天狠伊人五月 | 欧美成人做爰网站 | 在线成人毛片 | 精品国产成人系列 | 日韩精品一区二区三区中文在线 | 97在线视频免费播放 | 日本特黄a级高清免费酷网 日本特黄特色 | 草草影院欧美三级日本 | 欧美日韩午夜视频 | 精品国产九九 | 欧美三级一区 | 加勒比一区在线 | 亚洲精品www久久久久久久软件 | 亚洲国产精品第一区二区 | 国产美女又黄又爽又色视频免费 | 日韩美女一区二区三区 | 亚洲天堂视频在线 | 在线免费观看国产视频 | 手机在线观看毛片 | 成人a毛片免费视频观看 | 久久久久久久国产高清 | 国产精品1区| 色悠久久久久综合网伊人男男 | 毛片观看网站 | 免费a级毛片大学生免费观看 | 欧美丰满大乳大屁股毛片 | 国产三级三级三级 | 欧美色久| 国产亚洲精彩视频 | 大陆孕妇孕交视频自拍 | 精品在线观看一区 | 国产免费久久精品99re丫y | 日本人一级毛片免费视频 | 久久精品一区二区影院 | 亚洲欧美一级久久精品 | 免费国产成人高清在线观看视频 |