我从 spring-boot 1.5.3-release 迁移到 2.7.16 后遇到问题,错误是 DepartmentRepository.findAll(java.lang.Iterable)!未找到类型“部门”的属性“findAll”
import java.util.List;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import com.auth.middleware.domain.Department;
@Repository
public interface DepartmentRepository extends CrudRepository<Department, Long> {
@Transactional(timeout = 8)
List<Department> findAll();
/**
*
* @param deptId
* @return
*/
Department findByDeptId(Long deptId);
/**
* @param deptName
* @return
*/
Department findByDeptName(String deptName);
/**
*
* @param deptId
*/
void deleteByDeptId(Long deptId);
/**
* @param deptIds
*/
@Transactional(timeout = 8)
Iterable<Department> findAll(Iterable<Long> deptIds);
}
启动应用程序时出现错误 调用init方法失败;嵌套异常是 org.springframework.data.repository.query.QueryCreationException:无法为公共抽象 java.lang.Iterable 创建查询 com.auth.middleware.repository.DepartmentRepository.findAll(java.lang.Iterable); 它之前在 spring-boot 1.5.3-release 中工作,升级到 2.7.16 后我面临这个问题。
DepartmentRepository class
吗?findAll( Iterable )
,您是否尝试获取传递的部门 ID 的行?如果两者的答案都是“是”,那么请尝试将该方法重命名为
findByDeptIdIn( Iterable )
。 (由于此处不提供 Department
类,因此请确保使用正确的字段属性名称和路径,包括键属性的名称(如果适用)。