执行UPDATE查询时,它总是返回INT受影响的行数。 也许有某种方法可以返回例如所有对象的列表,这些对象的位置已更新或第一个已更新?
我有@Entity SecurityPolicy,并且希望在更新后恢复此对象。 所以这是我的代码:
@Modifying
@Query(value = "UPDATE security_policy s set max_fail_sign_in =:maxFailSignIn," +
" min_password_length =:minPasswordLength," +
" capital_in_password =:capitalInPassword," +
" digit_in_password =:digitInPassword," +
nativeQuery = true)
SecurityPolicy updateSecurityPolicy(@Param("maxFailSignIn") Integer maxFailSignIn,
@Param("minPasswordLength") Integer minPasswordLength,
@Param("capitalInPassword") Boolean capitalInPassword,
@Param("digitInPassword") Boolean digitInPassword);
使用@Modifying时,它告诉我结果应为Int,没有它-无法提取ResultSet。 我知道使用spring数据可以轻松地保存或更新某些实体并将其作为结果,因此我想要实现类似的目的。
答案 0 :(得分:0)
不能,因为整数响应不是由框架而是由RDBMS本身(SQL规范)生成的。该整数表示查询修改了多少行。
由于您不想使用JPA进行此操作,因此更新后必须SELECT
进行该行操作,就像使用普通SQL一样。