专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Hibernate学习:Exception in thread "main" java.lang.NullPointerException

1、在学习Hibernate多对多关系的时候遇到了一下异常:

93_1.png

主函数出现了空指针异常:

public static void testadd() {
        Session session = HibernateUtils.openSession();//获得session
        Transaction transaction = session.beginTransaction();//开启事务
        Student student=new Student();
        student.setSname("翟");
        student.setPoint(123f);
        student.setClassno(46);
        student.setSex("男");
        student.setBirthday("2019-11-11");
        student.setPhone("18739496522");
        student.setEmail("34288334@qq.com");

        Student student1=new Student();
        student1.setSname("翟hb");
        student1.setPoint(666f);
        student1.setClassno(46);
        student1.setSex("女");
        student1.setBirthday("2019-11-11");
        student1.setPhone("18739496522");
        student1.setEmail("34288334@qq.com");

        Course course=new Course();
        course.setCourseno("123");
        course.setCname("算法设计");
        course.setType("必修");
        course.setCredit(4);
        course.setPeriod(22);

        Course course1=new Course();
        course.setCourseno("456");
        course1.setCname("网络");
        course1.setCredit(2);
        course1.setPeriod(12);
        course1.setType("必修");

        System.out.println(student);
        System.out.println(student1);
        System.out.println(course);
        System.out.println(course1);

        student.getCourses().add(course);
        student.getCourses().add(course1);
        student1.getCourses().add(course);
        student1.getCourses().add(course1);

        session.save(student);
        session.save(student1);
        session.save(course);
        session.save(course1);

        transaction.commit();//提交事务
        session.close();//关闭资源
    }

但是执行输出语句能够正常输出对象中的内容:

93_2.png

2、问题原因:

93_3.png

在实体中定义一对多关系的时候没有创建对象,导致在主函数中不能获取集合对象。

修改代码:

public class Student {
    private Integer studentno;
    private String sname;
    private String sex;
    private String birthday;
    private Integer classno;
    private Float point;
    private String phone;
    private String email;
    private Set<Course> courses=new HashSet<Course>();//利用集合表达一个学生有多个课程

new出来一个对象之后,主函数可以正常的向里面添加数据。错误得以解决。

文章永久链接:https://tech.souyunku.com/22513

未经允许不得转载:搜云库技术团队 » Hibernate学习:Exception in thread "main" java.lang.NullPointerException

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们