1 回答

TA贡献1811条经验 获得超5个赞
我发现问题是不再支持带有 ?1 和 ?2 参数的 @Query 它改变了
** 请求存储库**
现在我的班级是:
package com.spring.course.repository;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import com.spring.course.domain.Request;
import com.spring.course.enums.RequestState;
@Repository
public interface RequestRepository extends JpaRepository<Request, Long>{
public List<Request> findAllByOwnerId(Long id);
@Query("UPDATE request SET state = :state WHERE id = :id")
public Request updateStatus(Long id, RequestState state);
}
** 请求StageRepository**
package com.spring.course.repository;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import com.spring.course.domain.Request;
import com.spring.course.domain.RequestStage;
import com.spring.course.enums.RequestState;
@Repository
public interface RequestSatageRepository extends JpaRepository<RequestStage, Long>{
public List<RequestStage> findAllByRequest(Long id);
@Query("UPDATE request SET state = :state WHERE id = :id")
public Request updateStatus(Long id, RequestState state);
}
** 用户存储库**
package com.spring.course.repository;
import java.util.Optional;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import com.spring.course.domain.User;
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
@Query("SELECT u FROM user u WHERE email = :email AND password = :password")
public Optional<User> login(String email, String password);
}
添加回答
举报