我无法将方法参数传递给hibernate查询的命名参数
@Modifying
@Query("update Cinema cin set cin = #{cinema} where cin.id = #{cinema.id}")
Cinema updateCinema(@Param("cinema") Cinema cinema);
收到以下错误,
"Caused by: org.hibernate.QueryException: unexpected char: '#' "
我该如何解决?
答案 0 :(得分:0)
在查询注释中,您可以使用PointEditor
(例如:<parameter>
)来引用参数。
看起来您只想更新特定实体。有没有理由不简单地使用:cinema
?
由于您使用的是Spring-boot,因此您可能也在使用Spring数据。在这种情况下,entityManager.merge(cinema)
也应该有用。