繁体   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