jpql jpa(@query)for update column with binary operator mysql query是什么意思?

2nbm6dog  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(318)

sql查询:

update de_meta set service_lines = service_lines | 5 where de_id = 20;

这在sql控制台中运行良好。
jpa查询:

@Modifying
@Query("update DeMetaEntity set serviceLines = serviceLines | ?2 where deId = ?1")
void addDeServiceLineMap(Integer deId, int serviceLine);

此jpa查询引发错误,因为|(按位或)在jpql中无效。有没有办法为给定的sql查询编写等价的jpql?
我不想使用条件查询。当我在java接口上使用它时。

yqlxgs2m

yqlxgs2m1#

按照alan的建议创建本机查询:

@Modifying
@Query("update de_meta set service_lines = service_lines | ?2 where de_id = ?1", nativeQuery=true)
void addDeServiceLineMap(Integer deId, int serviceLine);

开关nativequery=true将按原样执行sql查询。

相关问题