com.microsoft.sqlserver.jdbc.SQLServerException : 列名 stuId 无效。
List list=this.getSession().createSQLQuery("select * from Course c where c.isFinish='true' and c.id not in"+" (select courseId from StuCourse sc where sc.stuId = '"+id+"' ) and c.specialtyId in"
+" (select specialtyId from StuUser su where su.id ='"+id+"')").addEntity("c",Course.class).addEntity("sc",StuCourse.class).addEntity("su",StuUser.class).list();
在数据库中可以显示一条记录,可是运行程序时总是报“com.microsoft.sqlserver.jdbc.SQLServerException : 列名 stuId 无效” --------------------编程问答-------------------- stuId 表里面有这个列名? --------------------编程问答-------------------- 在表StuCourse中 --------------------编程问答-------------------- 你检查下是不是你的StuCourse实体对象的属性名不是这个? --------------------编程问答-------------------- 实体对象的属性名就是stuId --------------------编程问答-------------------- StuCourse left join Course 下试试 --------------------编程问答-------------------- 字段小写 --------------------编程问答-------------------- 已经解决了,因为只要显示一个对象的数据,所以只写addEntity("c",Course.class)一个类就行了
补充:Java , Java EE