`
Tony Almeida
  • 浏览: 7648 次
  • 来自: ...
最近访客 更多访客>>
社区版块
存档分类
最新评论

问题:如何从hibernate查询时返回List类型结果中取值

阅读更多

  问题描述:希望从数据库中查询一条数据并获取各字段值。但是hibernate自动生成的代码UserDAO.java文件中查询后返回的是一个List类型,我怎么也取不出这里面的字段值。

  使用Eclipse导入hibernate并生成的UserDAO.java文件部分代码如下:

  

    public List findByProperty(String propertyName, Object value) {
      log.debug("finding Users instance with property: " + propertyName
            + ", value: " + value);
      try {
         String queryString = "from Users as model where model."
               + propertyName + "= ?";
         Query queryObject = getSession().createQuery(queryString);
   queryObject.setParameter(0, value);
   return queryObject.list();
      } catch (RuntimeException re) {
         log.error("find by property name failed", re);
         throw re;
      }
 }

 public List findByUsername(Object username) {
  return findByProperty(USERNAME, username);
 }

然后在测试时的代码如下:

  UsersDAO user = new UsersDAO();
  List li = user.findByUsername("txldat");
  Iterator it = li.iterator();
  while(it.hasNext()){
   System.out.println(it.next());
  }

但是打印结果却显示为:cn.edu.whu.xsjz.txl.vo.Users@18041e0

请问是什么原因啊,我应该怎么做才能够取出像id,name等字段的值呢?

分享到:
评论
2 楼 Tony Almeida 2007-08-16  
非常感谢,问题已经解决了。
之前在网上搜的时候也找过说是Object[],但是一直用不正确。
1 楼 genius0182 2007-08-16  
for(int i=0;i<li.size();i++)
{
  User user = (User)li.get(i);
  System.out.println("id "+user.getId());
  System.out.println("name "+user.getName());

}

User是你的映射对象类.

相关推荐

Global site tag (gtag.js) - Google Analytics