Rest 无法提取结果集;嵌套异常为org.hibernate.exception.genericjdbception:无法提取结果集
我想插入一些数据,在插入之前,我想删除以前的相关数据。但出现“无法提取结果集;嵌套异常为org.hibernate.exception.genericjdbception:无法提取结果集”错误 我的控制器类Rest 无法提取结果集;嵌套异常为org.hibernate.exception.genericjdbception:无法提取结果集,rest,spring-boot,sql-delete,Rest,Spring Boot,Sql Delete,我想插入一些数据,在插入之前,我想删除以前的相关数据。但出现“无法提取结果集;嵌套异常为org.hibernate.exception.genericjdbception:无法提取结果集”错误 我的控制器类 @PostMapping(path="signin",produces = "application/json") @ResponseBody public LoginView loginProcess( @RequestBody User user){ try { DateFor
@PostMapping(path="signin",produces = "application/json")
@ResponseBody public LoginView loginProcess( @RequestBody User user){
try {
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
Date newdate = new Date(date.getTime()+9*3600*1000);
this.loginRepository.delete(user.getUsername());
this.loginRepository.insert(user.getUsername(),user.getDetails(),dateFormat.format(date),dateFormat.format(newdate));
catch(Exception e) {
System.out.println(e.getMessage());
}
}
存储库类
public interface LoginRepository extends JpaRepository<User, Integer>{
@Query(value="INSERT INTO DBA.TOKEN_DETAILS (username,TOKEN,ACTIVE,VALID_FROM,VALID_TO) VALUES(:username,:token,1,:validFrom,:validTo)",nativeQuery=true)
public void insertToken(@Param("username")String username, @Param("token")String token, @Param("validFrom")String validFrom, @Param("validTo")String validTo);
@Transactional
@Modifying
@Query(value="DELETE FROM DBA.TOKEN_DETAILS WHERE username=?1",nativeQuery=true)
public void deleteToken(String username);
}
@Modifying
@Query(value="INSERT INTO DBA.TOKEN_DETAILS (username,TOKEN,ACTIVE,VALID_FROM,VALID_TO) VALUES(:username,:token,1,:validFrom,:validTo)",nativeQuery=true)
public void insertToken(@Param("username")String username, @Param("token")String token, @Param("validFrom")String validFrom, @Param("validTo")String validTo);
通过在repository类中添加@Modify注释解决了这个问题
public interface LoginRepository extends JpaRepository<User, Integer>{
@Query(value="INSERT INTO DBA.TOKEN_DETAILS (username,TOKEN,ACTIVE,VALID_FROM,VALID_TO) VALUES(:username,:token,1,:validFrom,:validTo)",nativeQuery=true)
public void insertToken(@Param("username")String username, @Param("token")String token, @Param("validFrom")String validFrom, @Param("validTo")String validTo);
@Transactional
@Modifying
@Query(value="DELETE FROM DBA.TOKEN_DETAILS WHERE username=?1",nativeQuery=true)
public void deleteToken(String username);
}
@Modifying
@Query(value="INSERT INTO DBA.TOKEN_DETAILS (username,TOKEN,ACTIVE,VALID_FROM,VALID_TO) VALUES(:username,:token,1,:validFrom,:validTo)",nativeQuery=true)
public void insertToken(@Param("username")String username, @Param("token")String token, @Param("validFrom")String validFrom, @Param("validTo")String validTo);
正在插入数据,但代码抛出错误。