Spring Data JPA踩坑記錄(@id @GeneratedValue)
Spring Data JPA踩坑記錄
最近在做自己的一個項目時 使用了spring jpa
由于數(shù)據(jù)庫用的是mysql 在給實體類entity 的id給注解時@Id遇到了一個坑 自己找了許久才在stackoverflow 上找到了答案
注意 再查詢數(shù)據(jù)庫的時候并不會因此報錯 而當你的主鍵是自增的時候 在添加數(shù)據(jù)的時候就會報錯了
看看我們的實體類
注意id
原因是id jpa默認是auto的策略 也就是主鍵序列化 而mysql是不支持的 oracle支持的 所有在添加的時候才會報錯
所以我們要主動設置id的策略
這是坑 特意寫出來 讓大家(主要是使用jpa新手)不用像我一樣踩坑了 注意了
JPA踩坑:No property xxx found for type xxx
問題發(fā)現(xiàn)
今天調試一段代碼的時候發(fā)現(xiàn)有個報錯很奇葩。
接口報錯:
{ ? ? "errorCode": "01", ? ? "errorMessage": "服務器出錯", ? ? "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)]" ? ? ] }
后臺一直報錯:
org.springframework.data.mapping.PropertyReferenceException: No property xxxx found for type Xxxx
問題解決
最后發(fā)現(xiàn)是同事寫JPA@Repository的時候,@Query里面的東西寫錯了
//這個是錯誤的,里面是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);
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
SpringBoot中整合MyBatis-Plus-Join使用聯(lián)表查詢的實現(xiàn)
本文主要介紹了SpringBoot中整合MyBatis-Plus-Join使用聯(lián)表查詢的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-03-03spring啟動后保證創(chuàng)建的對象不被垃圾回收器回收
最近看到一個問題是,spring在啟動后如何保證創(chuàng)建的對象不被垃圾回收器回收?。所以本文結合jvm的垃圾回收機制和spring中的源代碼做出自己的一點猜測。有需要的朋友們可以參考借鑒。2016-09-09Java try-catch-finally異常處理機制詳解
這篇文章主要介紹了Java try-catch-finally異常處理機制詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-08-08