Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 坎恩';t从DB hql检索项目_Java_Hibernate - Fatal编程技术网

Java 坎恩';t从DB hql检索项目

Java 坎恩';t从DB hql检索项目,java,hibernate,Java,Hibernate,有此代码: Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); Query query = session.createQuery("from DBUser where id=1"); for(Iterator it=query.iterate();it.hasNext();){ Object[] row = (Object[])

有此代码:

Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Query query = session.createQuery("from DBUser where id=1");
    for(Iterator it=query.iterate();it.hasNext();){
    Object[] row = (Object[]) it.next();
    System.out.println("ID: " + row[0]);
    System.out.println("Name: " + row[1]);
    System.out.println("Amount: " + row[2]);
}
出现错误:
java.lang.ClassCastException:com.mycompany.app.DBUser无法强制转换为[Ljava.lang.Object;


可能有更简单的方法从表中检索单个元素?

hql在本例中返回映射类型。您的代码应该如下所示:

Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Query query = session.createQuery("from DBUser where id=1");
    for(Iterator it=query.iterate();it.hasNext();){
    DBUser row = (DBUser) it.next();
    System.out.println("ID: " + row.getId());
    System.out.println("Name: " + row.getName());
    System.out.println("Amount: " + row.getAmount());
}