【发布时间】:2016-07-01 15:33:21
【问题描述】:
我正在使用 Spring Boot 开发一个 REST 服务器应用程序。
在构建 UPDATE 查询时遇到了一个问题。
目前我在 UserRepository 中的 UPDATE 查询是这样的;
@Modifying
@Transactional
@Query(value ="update User u set u.user_dob=:userDOB, u.user_lastname=:userLastName, u.user_firstname=:userFirstname, u.user_streetaddress=:userStreetAddress where d.driver_id=:driverId", nativeQuery = true)
void updateUser(@Param("userDOB") String userDOB, @Param("userLastName") String userLastName, @Param("userFirstName") String userFirstName, @Param("userStreetAddress") String userStreetAddress);
但是,我不喜欢在一个 UPDATE 查询中列出 User 的所有属性。 反正有动态构造UPDATE查询吗?
例如;
更新
set u.user_dob=:userDOB, u.user_lastname=:userLastName, u.user_firstname=:userFirstname, u.user_streetaddress=:userStreetAddress
或
u.user_lastname=:userLastName, u.user_firstname=:userFirstname
使用一种更新方法。
【问题讨论】:
标签: spring rest jpa spring-boot crud