Spring Data JPA 存储库 findAll() 方法返回 null 列表

标签 spring hibernate spring-data

我正在使用 Spring Data JPA:

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-jpa</artifactId>
    <version>1.7.1.RELEASE</version>
</dependency>

使用 Spring 4.3.7.RELEASE 和 Hibernate 5.2.9.Final。

当我使用 findAll 查询时,列表返回包含空值。

实体:

@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
@Entity
public class Etudiant implements Serializable {

    /**
     * Serial version UID
     */
    private static final long serialVersionUID = -1982480763983112005L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "idEtudiant")
    private Integer idEtudiant;

    @Column(name = "nomEtudiant")
    private String nomEtudiant;

    @Column(name = "prenomEtudiant")
    private String prenomEtudiant;

    @Column(name = "adresse")
    private String adresse;

    @Column(name = "dateNaissance")
    private Date dateNaissance;

    @ManyToMany(fetch = FetchType.LAZY)
    @JoinTable(name = "etudiant_cours", joinColumns = @JoinColumn(name = "idEtudiant", referencedColumnName = "idEtudiant"), inverseJoinColumns = 
    @JoinColumn(name = "idCours", referencedColumnName = "idCours"))
    private List<Cours> cours;
}

注意:请注意,问题不是来自 lombok,我已经使用 getter 和 setter 进行了测试。

存储库:

@Repository
public interface EtudiantRepository extends JpaRepository<Etudiant, Integer> {     
}

服务:

@Service
public class EtudiantServiceImpl {

    @Autowired
    EtudiantRepository etudiantRepository;

    List<Etudiant> lst = new ArrayList<Etudiant>();

    public List<Etudiant> getAllEtudiant() {
        lst =  this.etudiantRepository.findAll();
        return lst;
    }
}

Debug result

最佳答案

在调试屏幕截图中,可以看到 etudiantRepository 为 null。 也许您在配置中缺少 @EnableJpaRepositories 注释。

EtudiantServiceImpl 正在使用依赖注入(inject)或使用 new 关键字进行实例化?

关于Spring Data JPA 存储库 findAll() 方法返回 null 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45573910/

相关文章:

java - Spring Data Jpa查询结果集到对象创建非常慢

Spring Data JPA - 语句未返回结果集

java - TomEE 中的 Spring JDBCTemplate 偶尔出现 "Failed to validate a newly established connection"SQL 异常

java - 使用 spring 3 restful 以编程方式更改 http 响应状态

java - 如何将 hibernate 关联映射从 'one to many' 更改为 'many to many'?

java - Hibernate 无法解析属性

java - spring数据查询dsl如何添加order by?

java - Spring默认页面不经过Controller类

java - 针对缺少输入提供用户友好的错误页面

Java JPA 单元测试保存 2 项