未找到“部门”类型的属性“findAll”

问题描述 投票:0回答:1

我从 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 后我面临这个问题。

spring-boot spring-data-jpa spring-data
1个回答
0
投票
  • 可以编辑
    DepartmentRepository class
    吗?
  • 此外,使用
    findAll( Iterable )
    ,您是否尝试获取传递的部门 ID 的行?

如果两者的答案都是“是”,那么请尝试将该方法重命名为

findByDeptIdIn( Iterable )
。 (由于此处不提供
Department
类,因此请确保使用正确的字段属性名称和路径,包括键属性的名称(如果适用)。

© www.soinside.com 2019 - 2024. All rights reserved.