我在jpa中编写了一个查询来更新客户记录,但无法获得响应。它给了我一些不相关的React
@Query(value = "UPDATE CUSTOMER SET NAME = :name, PHONE = :phone") Customer updateWithNameAndPhone(@Param("name") String name, @Param("phone") String phone)
字符串
lztngnrs1#
要显示查询更新了数据库,请使用@Modifying注解。若要指示查询是本机SQL查询,请提供nativeQuery = true参数。更新后的客户对象不需要作为返回值,因此使用void返回类型。如果希望获得更新的customer对象,可以将返回类型切换为Customer并调整函数实现。
@Query(value = "UPDATE CUSTOMER SET NAME = :name, PHONE = :phone WHERE CUSTOMER_ID = :customerId", nativeQuery = true) @Modifying void updateCustomerWithNameAndPhone(@Param("name") String name, @Param("phone") String phone, @Param("customerId") Long customerId);
4bbkushb2#
假设您的实体类CUSTOMER具有NAME、PHONE和CUSTOMERID字段,您还可以使用下面的Java持久性查询语言(JPQL)来更新列,这些列在成功更新一行时返回整数1,在更新失败且没有更新任何行时返回整数0
@Transactional @Modifying @Query("UPDATE CUSTOMER c SET c.NAME = :name, c.PHONE = :phone WHERE c.CUSTOMERID = :customerId") int updateWithNameAndPhone(@Param(value = "name") String name, @Param(value = "phone") String phone, @Param(value = "customerId") String customerId);
字符串或者是
@Transactional @Modifying @Query("UPDATE CUSTOMER c SET c.NAME = ?1, c.PHONE = ?2 WHERE c.CUSTOMERID = ?3") int updateWithNameAndPhone(String name, String phone, String customerId);
型
2条答案
按热度按时间lztngnrs1#
要显示查询更新了数据库,请使用@Modifying注解。若要指示查询是本机SQL查询,请提供nativeQuery = true参数。更新后的客户对象不需要作为返回值,因此使用void返回类型。如果希望获得更新的customer对象,可以将返回类型切换为Customer并调整函数实现。
字符串
4bbkushb2#
假设您的实体类CUSTOMER具有NAME、PHONE和CUSTOMERID字段,您还可以使用下面的Java持久性查询语言(JPQL)来更新列,这些列在成功更新一行时返回整数1,在更新失败且没有更新任何行时返回整数0
字符串
或者是
型