如何使用Spring Data進行一個實體中一部分資料的更新? | Baeldung
JPA定義了兩個註釋,@Modifying和@Query,它們使我們可以顯式地編寫更新語句。現在,我們可以告訴我們的應用程式在更新期間的行為方式,而不會給ORM造成負擔。
讓我們在儲存庫respository中新增我們的自定義更新方法:
@Repository public interface CustomerRepository extends CrudRepository<Customer, Long> { Customer findById(long id); @Modifying @Query("update Customer u set u.phone = :phone where u.id = :id") void updatePhone(@Param(value = "id") long id, @Param(value = "phone") String phone); } |
僅僅更新Customer中的phone欄位:
public class CustomerDto { private long id; public String name; public String phone; } |
在服務中呼叫上述儲存庫介面程式碼:
public void updateCustomer(CustomerDto dto) {
Customer myCustomer = repo.findById(dto.id);
repo.updatePhone(...);
}
如果有很多phone欄位怎麼辦?
public class CustomerDto { private long id; public String name; public String phone; //... private String phone99; } |
將這些頻繁更新的欄位合併成一個子物件或集合:
@Entity public class CustomerStructured { @Id @GeneratedValue(strategy = GenerationType.AUTO) public Long id; public String name; @OneToMany(fetch = FetchType.EAGER, targetEntity=ContactPhone.class, mappedBy="customerId") private List<ContactPhone> contactPhones; } |
可以在GitHub上獲得本文的原始碼。
相關文章
- 使用Spring Data JPA進行資料庫操作Spring資料庫
- Spring Data JDBC如何對DDD聚合根進行部分更新? - spring.ioSpringJDBC
- 使用Spring Data建立只讀儲存庫 | BaeldungSpring
- Spring Boot整合Spring Data JPA進行資料庫操作Spring Boot資料庫
- Spring Data MongoDB 使用group和unwind實現對陣列資料進行簡單統計SpringMongoDB陣列
- 如何在Spring中使用JobRunr實現後臺作業? - BaeldungSpring
- 使用async-profiler進行JVM記憶體效能微調的指南 | BaeldungJVM記憶體
- 使用OPA實現Spring安全授權 | baeldungSpring
- Spring框架中一個有用的小元件:Spring RetrySpring框架元件
- REST:使用PATCH進行部分更新 - mscharhagREST
- spring data mongodb 如何以事物的方式進行增刪改查SpringMongoDB
- 啟動資料庫的其中一個錯誤資料庫
- (一)如何使用 Parsel 和 XPath 進行網頁資料提取網頁
- 進行版本迭代過程中,使用spring jpa來完美解決資料表更新的問題Spring
- 如何使用ISqlSugarClient進行資料訪問,並實現了統一的批次依賴注入SqlSugarclient依賴注入
- 如何使用Mask RCNN模型進行影像實體分割?CNN模型
- 如何使用傳統資料庫思維進行實時資料流分析? – thenewstack資料庫
- Oracle資料庫中一致讀行為的改變Oracle資料庫
- MySQL更新資料,如何使用updateMySql
- MySQL 如何實現資料更新MySql
- 三個使用資料泵(Data Pump)的小技巧
- entity bean如何進行資料的大量更新Bean
- Spring Data JPA如何用於資料庫檢視?Spring資料庫
- 如何使用Java Streams進行資料庫查詢?Java資料庫
- 如何使用Python 進行資料視覺化Python視覺化
- 在Docker中能使用資料庫嗎? | BaeldungDocker資料庫
- 如何使用前端表格控制元件實現資料更新?前端控制元件
- 如何居中一個元素(終結版)
- Oracle進行模擬測試資料的一個例子Oracle
- 使用Spring Reactive MongoDB進行自定義更新查詢 -Yuri MednikovSpringReactMongoDB
- Spring Data JPA中實現更新插入三種方法Spring
- 利用Data Vault對資料倉儲進行建模(二)
- MySQL的原始碼安裝及使用UDFs進行資料自動更新的教程MySql原始碼
- 如何更好的進行大資料分析大資料
- 如何使用Spring Boot,Spring Data和H2 DB實現REST APISpring BootRESTAPI
- 8、使用 Spring Boot 搭建的一個 Spring MVC 示例(持續更新中)Spring BootMVC
- 如何實現一個功能,將oracle中一個使用者下的所有表結構匯出到.sql檔案中OracleSQL
- Spring Data JPA 的使用Spring