Hibernate学习:Exception in thread "main" java.lang.NullPointerException
1、在学习Hibernate多对多关系的时候遇到了一下异常:
主函数出现了空指针异常:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | 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(); //关闭资源 } |
但是执行输出语句能够正常输出对象中的内容:
2、问题原因:
在实体中定义一对多关系的时候没有创建对象,导致在主函数中不能获取集合对象。
修改代码:
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出来一个对象之后,主函数可以正常的向里面添加数据。错误得以解决。
每个人都会有一段异常艰难的时光 。
生活的压力 , 工作的失意 , 学业的压力。
爱的惶惶不可终日。
挺过来的 ,人生就会豁然开朗。
挺不过来的 ,时间也会教你 ,怎么与它们握手言和 ,所以不必害怕的。
——杨绛
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步