我正在尝试通过Spring数据jpa在MySQL中执行以下查询。
if (!context.IsReplaying)
{
context.SetCustomStatus("My status");
}
我尝试在StackOverflow上找到解决方案,但找不到任何解决方法。
spring-data-jpa中的 SET @i := 0;
UPDATE tv_episode te SET te.display_episode_no= @i:=@i+1 WHERE te.tv_season_id=season ORDER BY broadcast_date;
等于什么?有什么方法可以在带有注释的方法SET @i := 0;
和@Modifying
中执行语句?
答案 0 :(得分:0)
您可以通过向nativeQuery = true
添加@Query
来运行本机查询:
@Modifying
@Query(value = "SET @i := 0;\n" +
"UPDATE tv_episode te SET te.display_episode_no= @i:=@i+1 WHERE te.tv_season_id = :season", nativeQuery = true)
int updateUserSetStatusForName(@Param("season") Integer season);
如果您不想使用本机查询,则可以传递如下参数:
@Modifying
@Query("update TvEpisode te set te.displayEpisodeNo = :epiodeNo where te.tvSeasonId = :season")
int updateUserSetStatusForName(@Param("epiodeNo") Integer epiodeNo,
@Param("season") Integer season);