如果是我:1.list一般不会放在session,只传到页面就可以了
2.user和group要做映射关系,hql就会变成from user u where u.email like ?
3.jsp的tag我更喜欢jstl你的问题:(String)request.getParameter("para")这是什么?应该是你的list
而且,照你的hql来看list中只是结果集,不是对象集hibernate的体会不够,把真髓丢弃了好久没写程序了,可能有不对的地方,见谅

解决方案 »

  1.   

    1。
        对,您说的完全对,是结果集,而非对象集!!!这是症结所在!
    可是如果是数据库设计的话,是完全应该这样设计的,比如user这个数据库中有一个groupid字段,用来标明user所在的group,一般没有设定groupname为关联字段的吧。请问,有没有什么办法,进行多表的关联,还要能取得list中的值?或者说保存成对象集?2。
        我的这个程序是将List放到session中的,应该说是将最多26个List放在session中。我知道这是个问题,因为初始化的时候就要对26个英文字母中的每个进行一次模糊查询,查询的是email字段,如果有以某个字母开头的email,就将这个英文字母输出的时候加上超级链接,我想得办法是;进行26次查询,将结果(都为List)都以某个英文字母为名,放到session中,输入的时候进行一次检验,如果存在,加上超链接。还要实现的功能是,如果点击有超链接的字母要显示出相应的字段名,就如前一个问题的NUser.name ,NUser.email ,NGroup.name 的问题,我又将前面保存的Lists再利用,虽然我知道这样很浪费资源,但是我想不到更好的办法,而且时间比较紧张,如果您有好的注意,请不吝赐教,多谢!
      

  2.   

    hibernate是否支持多个映射文件共用一个实体bean?
      

  3.   

    1.user和group只需id关联上就可以了,user的Set(或List) groups就是group的对象集了。建议好好再看看Hibernate的文档,一对多,多对多的那部份。2.没太看明白你的这个具体应用,我的理解好象是输出26个字母,如果是EMAIL的首字就超链显示,这个你需要自己好好想具体的解决办法,比如,先输出EMAIL,取出首字母,将26字母初始为一个串,再换掉中间的和刚才取出的首字母(当然不一定适合你的场景,只是个例子)程序的目标是简单,清晰。3.支持多个那个问题,应该可以建议:在使用新的技术前最好先多了解一些,不要着急应用到真实的开发系统中,出现了技术问题,会很耽误时间。
      

  4.   

    http://community.csdn.net/Expert/topic/5048/5048763.xml?temp=.56271
    您说得很对,但是我现在没有很多时间来看文档,这个问题困扰我很久了,是关于hibernate的映射关系,如果可能的话,请给我一个例子,最好是具体的程序。上面的问题已经解决了:1. 在NUser持久对象(bean)中,加入一个groupname属性,及其setter.getter方法。
    2. 在NUser持久对象中加入如下构造函数:
    public AbstractNUser(String name ,String email,
    String groupname){           
         this.name=name;   
            this.email=email;   
            this.groupname=groupname;   
        }  
    3.在DAO层中,将查询数据库的hql语句书写如下:
        public List findByKanaIni(String x){
        String hql = "from NUser nuser";
        String query =
    "select new NUser(nUser.name,nUser.email,nGroup.groupname) " +
    "from NUser as nUser,NGroup as nGroup " +
    "where nUser.groupid = nGroup.groupid and upper(nUser.kana) like ?";
     String key = x.toUpperCase()+"%";    List list = null;
        try{
        list = this.getHibernateTemplate().find(query,(Object)key);
         }catch(Exception e){
     log.error("find  example by kana initial failed", e);
     return null;
         }
     return list;
        }
      

  5.   

    我感觉好象是你的BEAN中没有对应属性的GET和SET方法,或方法写的有误.