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 INTERFACE上使用它时。
答案 0 :(得分:1)
按照Alan的建议创建本机查询:
@Modifying
@Query("update de_meta set service_lines = service_lines | ?2 where de_id = ?1", nativeQuery=true)
void addDeServiceLineMap(Integer deId, int serviceLine);
switch nativeQuery = true将按原样执行SQL查询。