不懂,修改底层跟上层的页面设计有什么关系。
页面里除了知道List还想知道什么

解决方案 »

  1.   

    一个表department(有ID,name两个属性),一个表employee,其具有属性“department”(其值为department的ID 值),两者通过外键department关联。需要建立外键对应关系-employee的外键为department,对应者department的ID。
    <many-to-one name="department"
    class="ejb.Department" outer-join="auto"
    update="true" insert="true" access="property" column="department">
     </many-to-one>
    建议看看夏昕那本hibernate的书,里面有详细介绍的
      

  2.   


    <html>
    <logic:present name="items" scope="request">
    <logic:iterate id="item" name="items" scope="request">
    用户ID为:<bean:write name="item" property="shopID"/>
    </logic:iterate>
    </logic:present>
    </html>现在我需要的跟关联没什么关系。如果单表查询
    这句话从List中取出了一个表对象
    <logic:iterate id="item" name="items" scope="request">
    这句话从对象中取到一个属性
    <bean:write name="item" property="shopID"/>上面都没什么可说的,运行也是正常的
    可我现在是2表查询我的问题是现在List里面每个值里有两个表对象,界面怎么引用表对象
    <logic:iterate id="item" name="items" property="BiaoA" scope="request">
    是这么吗?我试了不行啊。
      

  3.   

    上面最后两句话说错了,
    问题在于
    <bean:write name="item" property="shopID"/>
    我如何指定是引用biaoA的某个属性
    或者BiaoB的某个属性
      

  4.   

    举个例子
    group:user 是一对多,有group.getUsers()
    查询group,而条件是user的name
    hql中group.user.name或group.users.name都是错误的写法
    必须先要指定users的别名才能检索
    如果用Criteria,专门有CreateAlias的方法,
    HQL大概是这样
    select Group group left join group.users user where user.name = "xxx"
    (跟sql差不多,只是on就不用写了)
      

  5.   

    用“.”,即类名.属性应该可以吧
    --在我的employee类中,department是类Departmen类型的,不过它对应的数据库中的则只是一个ID--就是将一个类类型的变量映射到表中一个简单类型的变量-这好象很难理解
    在代码中:
    String sql = "from Employee as employ where employ.department.Id = 5 "
    Query query = session.createQuery(sql);
    List list = query.list();
    以上代码可以查询department的ID值为5 的所有员工。
    在jsp中,用
      <logic:iterate id="employee" name="list">
      <bean:write name="employee" property="department.name"/>
    即可显示出对应的department的name了
    //
    对于普通的查询,你可以先得到表B的一个对象,然后在利用“.”操作取值啊。
      

  6.   

    谢谢各位的回答,特别是海燕兄,好象就你明白我的意思了。但我现在没法测试,只有周一了,如果正确,必然给分。
    其实我问的问题比较简单,因为我对stucts不熟。可能是我帖子里没说清楚。我再解释一下。希望能确定的大侠不吝赐教。
    String sql = "from Employee em ,Shoper sp where em.ShopId = sp.ID "
    Query query = session.createQuery(sql);
    List list = query.list();
    request.setAtribute("items");在jsp中,用
    <logic:present name="items" scope="request">
      <logic:iterate id="item" name="items">
    问题是下面这句,我现在想引用Shoper 表的name字段,如果sql语句里只有一个Shoper表的话,下面就肯定没问题,但是现在是两个表,怎么引用???
      <bean:write name="item" property="name"/>刚才njucser2001(海燕) 说字段前加表名,那应该是这么写,不知道我理解对不对
     <bean:write name="item" property="Shoper.name"/>
    我周一到单位试试,如果有用过的老大,希望能给个确定的答案。
      

  7.   

    to njucser2001(海燕)和各位大侠,不行啊.
    报错
    No getter method for property Shoper.name of bean item各位大侠,给个解决方案吧
      

  8.   

    是不是你的关联没有建好-
    貌似双表查询时必须关联的
    比如A有(id,name),B有(aid,name)
    对于SQL语句“select b.name from A a,B b where a.id=b.aid and a.id=1"
    则必须先建立关联-
    当然有一个比较笨的方法,分两步:
    先根据A的name找到B,然后再找B的name
    这样做似乎--:)