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

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

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出来一个对象之后,主函数可以正常的向里面添加数据。错误得以解决。

最新文章

  1. 基本概率分布Basic Concept of Probability Distributions 2: Poisson Distribution
  2. 这次,雅虎真的撤销QA团队了
  3. QTP
  4. web iphone css 兼容性
  5. Nodepad ++
  6. union的用法
  7. nginx 502
  8. (三)《Java编程思想》——构造函数初始化
  9. awk详解
  10. Java split方法源码分析
  11. CollapsingToolbarLayout学习笔记
  12. Digital Tutors - Introduction to Scripting Shaders in Unity 学习笔记
  13. cordova原理与插件制作
  14. 一键生成koa/koa2项目:
  15. [bzoj1806] [ioi2007]Miners 矿工配餐
  16. 怎样将Android手机弄死机?
  17. 《深入理解Java虚拟机》-----第7章 虚拟机类加载机制——Java高级开发必须懂的
  18. Android 网络框架 Retrofit2
  19. lr-web services协议
  20. lucene入门查询索引——(三)

热门文章

  1. 开发dubbo应用程序(二)dubbo注册中心相关概述
  2. Python列表(list)所有元素的同一操作
  3. 推送一个docker 使用阿里docker hub
  4. KSQL: Streaming SQL for Apache Kafka
  5. Windows定时清理文件处理脚本
  6. node_exporte新版本指标名称变化说明
  7. 关于ionic2在IOS上点击延迟的问题
  8. Cheat Engine 作弊表框架代码
  9. PHP在线批量下载文件
  10. 关于logback日志级别的配置