簡體   English   中英

"JPA QUERY 使用動態列名更新數據"

[英]JPA QUERY Update data with dynamic column name

我有一個很長的列表,根據它的子字符串,我將更新我的表,它有 10 列。 就像子字符串是 2 更新第 2 列等一樣。這就是我需要使用動態列名的原因。 有什么辦法可以做到,因為 :keyName 例如不起作用。

@Modifying
@Query("UPDATE Students s SET s.key2 = :key")
void updateKey(Integer key);

這是一個一般模式,可能與您想要的一致。 我們可以編寫一個涉及所有列的更新,除了在沒有為該列設置輸入參數的情況下,我們將使用CASE<\/code>表達式來無操作。 例如,對於 3 列更新,我們可以嘗試:

update SomeEntity e
set e.field1 = case when :val1 is not null then :val1 else e.field1 end,
    e.field2 = case when :val2 is not null then :val2 else e.field2 end,
    e.field3 = case when :val3 is not null then :val3 else e.field3 end;

暫無
暫無

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

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