这是报错
因为刚学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;