这是报错
因为刚学HIbernate,很多小问题其实挺折磨人的
这是代码(我根据网上搜索的答案还有自己的判断测试,感觉应该可能是字段没有" "的问题)
Configuration configuration = new Configuration().configure();SessionFactory sessionFactory = configuration.buildSessionFactory();Session session = sessionFactory.openSession();String HQL = "from StudentCourse ";Query query = session.createQuery(HQL);List<StudentCourse> list = query.list();for (StudentCourse o : list) {System.out.println(o);}session.close();
解决过程:
搞了几个小时,太痛苦了,主要原因还是因为不熟悉数据库,使用Navicat创建表的时候是默认在字段上面加了双引号,所以查询的时候字段必须带双引号,但是如果字段用的大写就不会。(特别痛苦,所以以后建表最好用sql语句)
更改前:
@Id@Column(name = "id")private Integer id;@Column(name = "course")private String course;@Column(name = "grade")private Integer grade;@Column(name = "STUDENT_USER_ID")private Integer userId;
更改后:因为userId 的字段是大写,所以不用加双引号
@Id@Column(name = "\"id\"")private Integer id;@Column(name = "\"course\"")private String course;@Column(name = "\"grade\"")private Integer grade;@Column(name = "STUDENT_USER_ID")private Integer userId;