[英]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.