Spring Data JPA的save之坑
問題
因為想要用mysql自增id,想要在save之後獲取這個儲存的實體的id判斷是否插入成功,一直以為Spring Data JPA中的save方法執行結束之後,save(entity)中的entity就會自動被更新為儲存的entity,但是其實不是這樣的,save之後這個實體的id總是為0
解決辦法
必須在主鍵get方法上要加上
@GeneratedValue(strategy = GenerationType.AUTO)
或
@GeneratedValue(strategy = GenerationType.IDENTITY),Spring Data JPA才會知道你想要拿到這個儲存後的實體,再返回這個實體
//返回主鍵 @GeneratedValue(strategy = GenerationType.AUTO) //或 @GeneratedValue(strategy = GenerationType.IDENTITY) @Id @Column(name = "id") public int getId() { return id; }
相關推薦
Spring-Data-JPA 爬坑記
lse 失效 get 保存 con insert long 字段長度 CA 一: 實體類的常用註解 2.1 @Entity 標識這個 pojo 是一個 jpa 實體 2.2 @Table(name = "表名") 指定類對應的數據庫表名 2.3 @Id 標記某一字段為表主鍵
Spring Data JPA 之分頁查詢
JPA的分頁查詢確實使用起來確實很簡單,但理解起來有點困難,此處只是實現JPA分頁的程式碼塊。 定義實體類: @Entity @Table(name = "t_pub_info") @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_REA
Spring Data JPA 之 for update
for update問題的由來是由於高併發,且使用負載均衡時使用的。在公司有一個專案的場景,場景並不複雜:學生選課。現在有三張表,1.t_pub_student(學生資訊表),2.t_pub_course(課程資訊表),3.t_pub_course_detail(學生選課詳情)。這三張表的定義分
SpringBoot學習筆記10——spring-data-jpa之分頁查詢
今天我們來學習一下spring-data-jpa的分頁查詢的實現 在上次初探JPA之後我們接下來學習分頁查詢,本篇部落格是接上一篇的,如果有需要了解jpa配置的話可以看上一篇部落格https://blog.csdn.net/lp840312696/article/details/83549937
Spring data redis 之 spring 系統整合
第一步: 新增依賴(以maven為例) <!-- redis相關jar包依賴 --> <dependency> &
spring data jpa之資料增刪改查程式碼優化
Spring data jpa為減少查詢資料庫次數,先將符合條件的資料查出來,返回的是一個list集合,遍歷集合將資料裝入map中,根據需要設定key,value,然後判斷map是否包含某個key或者value以此判斷資料是否在資料庫中已經存在。這樣減少了訪問資料庫的次數,減小了伺服器壓力,將大部分
Spring Data JPA之自動轉化下劃線
在專案中遇到資料庫表沒有下劃線如SysUser,POJO類名也是SysUser,springboot下的預設jpa會在建立拼接sql語句時自動將SysUser轉為Sys_User從而報錯。 解決方法: 在application.yml中配置如下 jpa: hibernate:
深入淺出spring-data-elasticsearch之ElasticSearch架構初探(一).md
Elasticsearch基本術語 文件(Document)、索引(Index)、型別(Type)文件三要素 文件(Document):文件,在面向物件觀念就是一個物件。在 ES
spring data mongodb之mongodbTemplate查詢總結
常用的列表查詢(篩選條件,查詢欄位,排序及分頁),相當於關係型資料庫的: select fields from tableName where coditions order by field skip limit; DBObject cond = new
spring-data-mongodb之MongoTemplate 新增資料
首先建立一個實體類,我們這邊用文章來做實體類,定義如下欄位:注意實體類要建在之前配置轉換目錄的包下面,上篇文章applicationContent.xml裡的配置,base-package路徑對了框架才會將實體類與mongodb中的集合對應起來。<!-- 自動掃描以下包的有Doucment註解的類 --
Spring Boot整合Spring Data Elasticsearch 踩坑
首先來看官網給的版本要求: 紅框這欄指的是:Elasticsearch安裝版本(windows安裝版本或Linux按照版本) 最新因為專案需要elasticsearch,採用今天搞了好久,專案啟動就報如下錯誤: org.elasticsearch.transport
【系統學習SpringBoot】再遇Spring Data JPA之JPA應用詳解(自定義查詢及複雜查詢)
在此,對Spring Data Jpa做詳細的筆記(使用層面的,原理層日後再說哈哈。) 一、Spring Data JPA設定建立方式: 建立方式一共分為四種: #配置資料庫,使用SpringJPA spring: datasource:
Spring Data JPA之動態查詢
在日常工作中,Spring Data JPA的使用給我們帶來了極大的方便,但是實際業務中很多場景需要支援動態查詢。比如前端查詢功能提供了很多查詢條件,使用者可以根據一部分條件進行查詢,那麼後端就需要支援可配置的查詢服務。在使用mybatis等時,可以用動態查詢的方式輕鬆搞定,
Spring Data JPA 之 JpaRepository
JpaRepository是Spring提供的非常強大的基本介面。 1 JpaRepository 1.1 JpaRepository介面定義 JpaRepository介面的官方定義如下: public interface JpaRepos
spring-data-examples之elasticsearch嘗試
spring-data系列嚐鮮,在嘗試elasticsearch時,遇到一些問題,記錄如下: 1.專案實體類採用lombok 形式註解,如果用IDE編譯,需要install lombok 外掛; 2.
Spring-data-jpa 之Specification in的用法
//根據競買人客戶名稱進行查詢 In<Long> in = cb.in(root.get(BailPay_.customerId)); if(customerName != null &am
Spring-Data-Redis之RedisTemplate的使用
上篇部落格是Spring-Data-Redis的例項,接著上篇的內容,這篇部落格介紹一下RedisTemplate的詳細方法。 功能介紹 大部分的使用者都喜歡用RedisTemplate,它相應的包是org.springframework
ORM框架 Mybatis、Hibernate、Spring Data JPA之到底該用誰,誰更牛*
在持久層框架中無可厚非的就是mybatis了,但是也會經常被人問到為啥要用mybatis,為啥不用hibernate,jpa。很多人各級都是地鐵爺爺看手機的表情,似乎從來沒想過這個問題。“公司叫用我就用了唄” 如果期望有好的發展我覺得我們應該學會知其然&知其所以然,這樣才會有自
Spring Data JPA的save之坑
問題因為想要用mysql自增id,想要在save之後獲取這個儲存的實體的id判斷是否插入成功,一直以為Spring Data JPA中的save方法執行結束之後,save(entity)中的entity就會自動被更新為儲存的entity,但是其實不是這樣的,save之後這個實
004-spring-data-elasticsearch 3.0.0.0使用【二】-spring-data之定義方法、創建repository實例、從聚合根發布事件
-- ble sch current 4.3 ... reference tex manager 續上文 1.4、定義方法 存儲庫代理有兩種方法可以從方法名稱派生特定於存儲的查詢。它可以直接從方法名稱派生查詢,或者使用手動定義的查詢。可用選項取決於實際store。但