Hibernate学习:Exception in thread "main" java.lang.NullPointerException
2024-09-17 03:29:31
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出来一个对象之后,主函数可以正常的向里面添加数据。错误得以解决。
最新文章
- 基本概率分布Basic Concept of Probability Distributions 2: Poisson Distribution
- 这次,雅虎真的撤销QA团队了
- QTP
- web iphone css 兼容性
- Nodepad ++
- union的用法
- nginx 502
- (三)《Java编程思想》——构造函数初始化
- awk详解
- Java split方法源码分析
- CollapsingToolbarLayout学习笔记
- Digital Tutors - Introduction to Scripting Shaders in Unity 学习笔记
- cordova原理与插件制作
- 一键生成koa/koa2项目:
- [bzoj1806] [ioi2007]Miners 矿工配餐
- 怎样将Android手机弄死机?
- 《深入理解Java虚拟机》-----第7章 虚拟机类加载机制——Java高级开发必须懂的
- Android 网络框架 Retrofit2
- lr-web services协议
- lucene入门查询索引——(三)