rt ---  怎样通过实体的一个字段(非主键,但唯一)我的做法 :
List list = this.getHibernateTemplate().find("from Users where Users.name = '" + "张三'");
然后再 把list 转换为Users 对象(HQL 语句乱写的,不知对不 = .=)...不知有什么好办法不 谢谢

解决方案 »

  1.   

    从原理上讲,最终都会转换成where语句来查出数据。如果在你的应用中多处使用到的话,建议你自己封装个方法。
      

  2.   

    你的问题是什么?是你写的这个方法不好吗?一般的做法是public User getUser(){
      List list=this.getHibernateTemplate().find("From User Where user.name=?",new Object[]{“张三”})}
      

  3.   

    还少一句
      public User getUser(){ 
      List list=this.getHibernateTemplate().find("From User Where user.name=?",new Object[]{“张三”})    return (User)list.get(0)}
      

  4.   

    用你的这个也行  public User getUser(){ 
      List list=this.getHibernateTemplate().find("From User Where user.name=?",new Object[]{“张三”})   return (User)list.get(0) }
    不过需要判断下,不然会出现空指针
      public User getUser(){ 
      List list=this.getHibernateTemplate().find("From User Where user.name=?",new Object[]{“张三”}) 
    if (list != null && list.size() > 0) {
     return (User)list.get(0) 
    } else {
    return null;
    }
     }