簡體   English   中英

使用 Spring JPA/Hibernate 按不同值批量更新

[英]Batch Update by different values using Spring JPA/Hibernate

有Java實體類:

class Call {
   int callId,
   String callStatus
}

callStatus 可能的值:SETUP、INSTALLED、FINISHED

call_statuses有值

callId callStatus
1       SETUP
2       INSTALLED
3       INSTALLED

然后我需要將 callId 1 和 2 的狀態更改為:

1       INSTALLED
2       FINISHED

callId 3 的呼叫保持不變。

是否可以使用 Spring JPA/Hibernate 進行批量更新?

嘗試這樣的事情,自定義 JPQL 查詢會像這樣:

    @Query("Update CallStatuses cs SET cs.callStatus = CASE WHEN (cs.callId IN :calls1) THEN :callStatusInstalled WHEN (cs.id IN :calls2) THEN :callStatusFinished END")
    batchUpdateCallStatus(@Param("calls1")List<int> calls1,
                          @Param("calls2") List<int> calls2,
                          @Param("callStatusInstalled") String callStatusInstalled, 
                          @Param("callStatusFinished") String callStatusFinished);

可能重復: JPQL - 使用多個 where 條件更新

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM