首页 > 解决方案 > @OneToMany 惰性列表抛出 NPE

问题描述

我有个问题。任何时候我想称之为train.getPath()throws NPEtrainEdges由于第getPath()一种方法,不应该加载那些吗?

train通过getById(int id).

@Data
@Entity
@Table(name = "trains")
public class Train {
    //fields
    
    @OneToMany(fetch = FetchType.LAZY, orphanRemoval = true, mappedBy = "train")
    private List<TrainEdge> path;
    
}
@Entity
@Table(name = "trainPaths")
public class TrainEdge {
    //fields
    @JoinColumn(name = "train")
    @ManyToOne
    private Train train;
}
@Repository
public class TrainDaoImpl implements TrainDao {
    //Other methods
    
    @Override
    public Train getById(int id) {
        return entityManager.find(Train.class, id);
    }

标签: javahibernatejpa

解决方案


推荐阅读