0

次のように BatchEntity エンティティから batchInfoEntityList を取得しようとしています:

@Entity(name = "batch")
public class BatchEntity {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long batchId;

    @OneToMany(fetch = FetchType.EAGER, cascade = { CascadeType.REFRESH,
        CascadeType.REMOVE }, mappedBy="batchEntity")
    @Fetch(FetchMode.SELECT)
    private List<BatchInfoEntity> batchInfoEntityList;

}

そして、私の BatchInfoEntity は次のとおりです。

@Entity(name = "batch_info")
public class BatchInfoEntity {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long batchInfoId;

    @ManyToOne(optional = false, cascade = { CascadeType.REFRESH }, fetch =         FetchType.EAGER, targetEntity = BatchEntity.class)
    @JoinColumn(name = "batchId", referencedColumnName = "batchId")
    private BatchEntity batchEntity; 
}

しかし、batchEntity インスタンスを取得すると、その batchInfoEntityList は空です。なぜそれが起こっているのか理解できません。

私のDAOは

public List<BatchEntity> getA()
        throws Exception {

    Session session = HibernateUtil.getSessionFactory().openSession();
    try {
        @SuppressWarnings("unchecked")
        List<BatchEntity> batchEntityList = session
                .createQuery(
                        "select b from "
                                + BatchEntity.class.getName()
                                + " b ")


        return batchEntityList;
    }  finally {
        session.close();
        // session.close();
    }

}
4

0 に答える 0