Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 冬眠一夫一妻关系_Hibernate_Jpa - Fatal编程技术网

Hibernate 冬眠一夫一妻关系

Hibernate 冬眠一夫一妻关系,hibernate,jpa,Hibernate,Jpa,我正在尝试为两个表和学生证书实现一对一关系。我有两个班,一个是学生班,另一个是证书班,从学生班到证书班都有一个共同的关系 学生班级: @Entity @Table(name = "student") public class Student implements Serializable{ @Id @GeneratedValue(strategy=GenerationType.AUTO) @Column(name = "id") private Intege

我正在尝试为两个表和学生证书实现一对一关系。我有两个班,一个是学生班,另一个是证书班,从学生班到证书班都有一个共同的关系

学生班级:

@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
我的DAO类有一个从数据库获取数据的方法:

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

        List<Students> studentList;

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

        return studentList;
    }
@SuppressWarnings(“未选中”)
公开名单学生(){
学生名单;
studentList=sessionFactory.getCurrentSession().createQuery(“来自学生”).list();
返回学生名单;
}

现在,当我运行这个方法时,Student类中listCertificats的值,即一个列表,总是空的。但是,我在Student类中获取id字段的值。我做错了什么?我查看了一些关于Hibernate-OnetoMany关系的教程,它们描述了与我实现相同的方法。任何人都将不胜感激

FetchType.lazy意味着您在访问子实体的特定属性之前不会看到它们的数据


请指定何时看到空值?即使在访问它们时,您是否也看到空值?

我假设您创建了测试数据。您是否已确保在保存之前在两个实体之间建立了关系。(student.getListCertificates().add(certificate);certificate.setStudent(student))否则,根据内部会话状态,hibernate可能会出现意外行为。我是一个相对较新的人。你能详细解释一下吗?你需要在数据库中插入数据来读取一些东西,我指的是代码。使用双向映射。如果使用不当,可能会导致故障。我的数据库中有数据。我只想读取数据,然后向我们展示数据格式;如何访问数据或其他有用的内容。我没有第一次使用cascade=CascadeType.ALL,fetch=FetchType.LAZY。我添加了这些以不同的方式尝试,每次我看到null。要指定,我在尝试访问特定字段时看到null。我知道我的代码或设置有问题。我只是想知道它在哪里。我在数据库中的数据具有简单的一对多关系。了解是否需要不同的方法从这些表中获取数据也会很有帮助。我想如果我使用onetomany关系,它将根据表之间的关系自动从两个表中获取数据。
    @SuppressWarnings("unchecked")
    public List<Students> listStudents() {

        List<Students> studentList;

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

        return studentList;
    }