ssh 表映射后怎么取出映射表中的数据

   <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同样如此