如何使用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 JDBC如何對DDD聚合根進行部分更新? - spring.ioSpringJDBC
- 使用Spring Data JPA進行資料庫操作Spring資料庫
- Spring Boot整合Spring Data JPA進行資料庫操作Spring Boot資料庫
- 使用Spring Data建立只讀儲存庫 | BaeldungSpring
- Spring框架中一個有用的小元件:Spring RetrySpring框架元件
- 如何在Spring中使用JobRunr實現後臺作業? - BaeldungSpring
- 使用OPA實現Spring安全授權 | baeldungSpring
- 使用async-profiler進行JVM記憶體效能微調的指南 | BaeldungJVM記憶體
- spring data mongodb 如何以事物的方式進行增刪改查SpringMongoDB
- REST:使用PATCH進行部分更新 - mscharhagREST
- 進行版本迭代過程中,使用spring jpa來完美解決資料表更新的問題Spring
- 活動回放 | 如何進行全增量一體的異構資料庫實時同步資料庫
- (一)如何使用 Parsel 和 XPath 進行網頁資料提取網頁
- Spring Data JPA如何用於資料庫檢視?Spring資料庫
- Spring Data JPA 的使用Spring
- 如何使用ISqlSugarClient進行資料訪問,並實現了統一的批次依賴注入SqlSugarclient依賴注入
- 如何使用Spring Boot,Spring Data和H2 DB實現REST APISpring BootRESTAPI
- Spring Data JPA中實現更新插入三種方法Spring
- 如何使用Mask RCNN模型進行影像實體分割?CNN模型
- 如何使用傳統資料庫思維進行實時資料流分析? – thenewstack資料庫
- 如何使用Python 進行資料視覺化Python視覺化
- 資料遷移測試專案實戰,2個系統的使用者資料如何進行關聯?(圖)
- 使用Spring Data JDBC實現DDD聚合SpringJDBC
- 使用Spring Reactive MongoDB進行自定義更新查詢 -Yuri MednikovSpringReactMongoDB
- MySQL更新資料,如何使用updateMySql
- 使用Spring Cloud Data Flow + CDC Debezium源實時實現變更資料捕獲 - SpringIOSpringCloud
- Springboot使用ResponseBodyAdvice進行統一返回介面資料格式的使用Spring Boot
- Spring Data Redis Stream的使用SpringRedis
- 在多資料來源中對部分資料表使用shardingsphere進行分庫分表
- 利用Data Vault對資料倉儲進行建模(二)
- MySQL 如何實現資料更新MySql
- 使用Liquibase和Spring Boot進行資料庫遷移的一站式指南 - reflectoringUISpring Boot資料庫
- 如何使用前端表格控制元件實現資料更新?前端控制元件
- 使用 Spring Data RepositoriesSpring
- 如何使用Java Streams進行資料庫查詢?Java資料庫
- 如何居中一個元素(終結版)
- MySQL的原始碼安裝及使用UDFs進行資料自動更新的教程MySql原始碼
- 使用Project Reactor進行反應式資料流 - spring.ioProjectReactSpring