<many-to-one name="member" column="mid" class="abk.model.Member"/>
<many-to-one name="school" column="School" class="abk.model.School" />
<many-to-one name="province" column="Province" class="abk.model.Province"/>
这是我的映射
sb.append(
"select c1.classid,c1.classname,s2.id,s2.schoolname,p3.id,p3.provincename from classmanage c1,school s2,province p3");
sb.append(" where 1=1");
sb.append(" and c1.school=s2.id");
sb.append(" and c1.province=p3.id");
sb.append(" order BY p3.provincename");
System.out.println(sb.toString());
List<Classmanage> list = (List<Classmanage>) getHibernateTemplate().find(sb.toString());
这是我的查询
classmanage is not mapped [select c1.classid,c1.classname,s2.id,s2.schoolname,p3.id,p3.provincename from classmanage c1,school s2,province p3 where 1=1 and c1.school=s2.id and c1.province=p3.id order BY p3.provincename]
这是我的异常
查询语句from后面的类名都需要大写
你的意思是从list集合中取值有问题吗?
如果是这样的话那是因为延迟加载的问题,从你的表能看出来classmanage与school和province之间都是多对一的关系
需要在school和province的映射文件中配置lazy="false"
具体点就是在你的School映射文件中应该有如下(就是school与classmanage之间的映射关系那部分):
........
改成:
........
province同样如此
你的意思是从list集合中取值有问题吗?
如果是这样的话那是因为延迟加载的问题,从你的表能看出来classmanage与school和province之间都是多对一的关系
需要在school和province的映射文件中配置lazy="false"
具体点就是在你的School映射文件中应该有如下(就是school与classmanage之间的映射关系那部分):
< set name="classmanages">
........
< /set>
改成:
< set name="classmanages" lazy="false">
........
< /set>
province同样如此