繁体   English   中英

休眠一对多关系

[英]Hibernate OnetoMany relationship

我正在尝试为两个表的学生和证书实施OnetoMany关系。 我有两个班级,学生班和证书班,从学生班到证书班有一对多的关系。

学生班:

@Entity
@Table(name = "student")
public class Student implements Serializable{

    @Id  
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name = "id")
    private Integer id;
    @OneToMany(cascade = CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="student") 
    private List<Certificats> listCertificats;
    // Getters and Setters

证书类别:

   @Entity
   @Table(name = "certificates")
   public class Certificates implements Serializable{

        @Id  
        @GeneratedValue(strategy=GenerationType.AUTO)
        @Column(name = "id")
        private Integer id;
        @ManyToOne
        @JoinColumn(name="student_id")
        private Student student;    
        // Getters and Setters

我的DAO类有一种从数据库中获取数据的方法:

    @SuppressWarnings("unchecked")
    public List<Students> listStudents() {

        List<Students> studentList;

        studentList= sessionFactory.getCurrentSession().createQuery("from Student").list();

        return studentList;
    }

现在,当我运行此方法时,作为List的Student类中listCertificats的值始终为null。 但是,我在Student类中获得了id字段的值。 我在这里做错了什么? 我检查了一些有关Hibernate OnetoMany关系的教程,它们描述的方式与我实现的方式相同。 任何将不胜感激。

FetchType.lazy表示直到访问子实体的特定属性,您才可以看到它们的数据。

请指定您何时看到空值? 即使访问它们,您仍然看到null吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM