问答详情
源自:4-5 更新操作整合事务使用

@Query中的SQL语句的参数问题

@Modifying
@Query("update Order o set o.name ...")
void update(@Param("p") Person person);

person中的name,age,sex,id等值要怎么调用??


@Query("update Person o set o.name  = :p.name , o.age = :p.age where o.id = p.id")
void update(@Param("p") Person person);

难道是这样???


提问者:my_promise 2018-03-06 10:26

个回答

  • 一别梦心
    2018-03-06 15:27:51
    已采纳

    这样不行,可以通过SpEL传对象进行查询,但是好像暂时还不支持更新操作,这样查询是可以的:

    @Query("select g from Girl g where g.id = :#{#girl.id}")
    public Girl getByObject(@Param("girl") Girl girl);