Spring Data JPA踩坑記錄(@id @GeneratedValue)
Spring Data JPA踩坑記錄
最近在做自己的一個(gè)項(xiàng)目時(shí) 使用了spring jpa
由于數(shù)據(jù)庫(kù)用的是mysql 在給實(shí)體類(lèi)entity 的id給注解時(shí)@Id遇到了一個(gè)坑 自己找了許久才在stackoverflow 上找到了答案
注意 再查詢數(shù)據(jù)庫(kù)的時(shí)候并不會(huì)因此報(bào)錯(cuò) 而當(dāng)你的主鍵是自增的時(shí)候 在添加數(shù)據(jù)的時(shí)候就會(huì)報(bào)錯(cuò)了
看看我們的實(shí)體類(lèi)
注意id
原因是id jpa默認(rèn)是auto的策略 也就是主鍵序列化 而mysql是不支持的 oracle支持的 所有在添加的時(shí)候才會(huì)報(bào)錯(cuò)
所以我們要主動(dòng)設(shè)置id的策略
這是坑 特意寫(xiě)出來(lái) 讓大家(主要是使用jpa新手)不用像我一樣踩坑了 注意了
JPA踩坑:No property xxx found for type xxx
問(wèn)題發(fā)現(xiàn)
今天調(diào)試一段代碼的時(shí)候發(fā)現(xiàn)有個(gè)報(bào)錯(cuò)很奇葩。
接口報(bào)錯(cuò):
{ ? ? "errorCode": "01", ? ? "errorMessage": "服務(wù)器出錯(cuò)", ? ? "returnObject": [ ? ? ? ? "Parameter value [1531421824] did not match expected type [java.util.Date (n/a)]; nested exception is java.lang.IllegalArgumentException: Parameter value [1531421824] did not match expected type [java.util.Date (n/a)]" ? ? ] }
后臺(tái)一直報(bào)錯(cuò):
org.springframework.data.mapping.PropertyReferenceException: No property xxxx found for type Xxxx
問(wèn)題解決
最后發(fā)現(xiàn)是同事寫(xiě)JPA@Repository的時(shí)候,@Query里面的東西寫(xiě)錯(cuò)了
//這個(gè)是錯(cuò)誤的,里面是value不是name=。=尷尬 @Query(name="select * from gene_info where ?to_days(createtime )= to_days( FROM_UNIXTIME( '?1' ) ) ",nativeQuery=true) ? ? List<GeneInfo> findAll(String createtime);
//正確的是@Query(value=" xxx",nativeQuery=true) @Query(value="select * from gene_info where ?to_days(createtime )= to_days( FROM_UNIXTIME( '?1' ) ) ",nativeQuery=true) ? ? List<GeneInfo> findAll(String createtime);
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot中整合MyBatis-Plus-Join使用聯(lián)表查詢的實(shí)現(xiàn)
本文主要介紹了SpringBoot中整合MyBatis-Plus-Join使用聯(lián)表查詢的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03spring啟動(dòng)后保證創(chuàng)建的對(duì)象不被垃圾回收器回收
最近看到一個(gè)問(wèn)題是,spring在啟動(dòng)后如何保證創(chuàng)建的對(duì)象不被垃圾回收器回收?。所以本文結(jié)合jvm的垃圾回收機(jī)制和spring中的源代碼做出自己的一點(diǎn)猜測(cè)。有需要的朋友們可以參考借鑒。2016-09-09java中的char占幾個(gè)字節(jié)實(shí)例分析
這篇文章主要介紹了java中的char占幾個(gè)字節(jié)實(shí)例分析的相關(guān)資料,需要的朋友可以參考下2017-04-04Java try-catch-finally異常處理機(jī)制詳解
這篇文章主要介紹了Java try-catch-finally異常處理機(jī)制詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08Springboot項(xiàng)目Maven依賴沖突的問(wèn)題解決
使用Spring Boot和Maven進(jìn)行項(xiàng)目開(kāi)發(fā)時(shí),依賴沖突是一個(gè)常見(jiàn)的問(wèn)題,本文就來(lái)介紹一下Springboot項(xiàng)目Maven依賴沖突的問(wèn)題解決,具有一定的參考價(jià)值,感興趣的可以了解一下2024-07-07Java實(shí)現(xiàn)簡(jiǎn)單的五子棋游戲示例代碼
這篇文章主要為大家介紹了如何利用Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的五子棋游戲,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Java游戲開(kāi)發(fā)有一定幫助,需要的可以參考一下2022-05-05