En modo de hibernación puedo hacer lo siguiente

Query q = session.createQuery("from Employee as e);
List<Employee> emps = q.list();

Ahora si quiero recuperar int y String ¿cómo puedo hacerlo?

Query q = session.createQuery(""SELECT E.firstName,E.ID FROM Employee E";
List ans = q.list();

Ahora, ¿cuál será la estructura de la lista?

OriginalEl autor user93796 | 2012-11-28

6 Comentarios

  1. 43

    Esto está bien. Única cosa que usted necesita entender es que va a devolver la lista de Object [] de la siguiente manera:

         Query q = session.createQuery("select e.id, e.firstName from Employee e");
         List<Object[]> employees= (List<Object[]>)q.list();
         for(Object[] employee: employees){
             Integer id = (Integer)employee[0];
             String firstName = (String)employee[1];
             .....
         }
    Lo que si tengo una relación de muchos a muchos y la tabla intermedia no está modelado como clase. ¿cómo puedo utilizar esa tabla en la consulta hql?
    Hibernate también le permite ejecutar estándar SQL, que se puede crear como: Query q = session.createSQLQuery("select id, first_Name from Employee"); donde createSQLQuery se utiliza para ejecutar SQL; id & first_Name son columnas de base de datos y el Empleado es la tabla de base de datos.
    No estoy seguro de que mi anterior mensaje era claro. Lo que quise decir fue: si desea utilizar desasociados tablas en la consulta, a continuación, SQL es la mejor opción.
    gracias por su ayuda.Déjame ser poco clara. Tengo muchos a muchos relación entre la tabla y la tabla B .Tabla C mapas de a a B. hase Un conjunto de B .Y B Conjunto de A. Ahora quiero seleccionar todo Una que tiene B b1 como uno de la entidad en su conjunto.Por ejemplo considere la posibilidad de stackoverflow.Quiero seleccionar todos los post que tiene java como uno de sus etiquetas. En tal caso, Una tabla es el Post , B es etiquetas y C es la relación entre a y B. ¿Cómo puedo recuperar n puestos de java etiquetas con HQL
    Esta es la forma en cuestión diferente de la que usted publicado anteriormente. De cualquier manera, intente algo como: select p from Post p join p.tags t where t.tagName in ('Java'). Esto debe hacer su trabajo siempre se ha hecho la asignación correctamente.

    OriginalEl autor Yogendra Singh

  2. 10

    Obtendrás una lista de matrices de Objects (cada uno con dos elementos)

    List< Object[] > employees = q.list();
    
    for ( Object[] employee : employees ) {
        //employee[0] will contain the first name
        //employee[1] will contail the ID
    }
    No me importa downvotes pero sería bueno dejar un comentario …
    es el orden de la matriz determinado por el orden de la consulta?

    OriginalEl autor Matteo

  3. 3
    List<Object[]> is the structure.

    Para llegar a cada elemento como este:

    List ans = q.list();
    for(Object[] array : ans) {
        String firstName = (String) array[0];
        Integer id = (Integer) array[1];
    }

    OriginalEl autor Jaanus

  4. 3
    Query qry=session.createQuery("select e.employeeId,e.employeeName from Employee e where e.deptNumber=:p1");
    qry.setParameter("p1",30);
    List l2=qry.list();
    Iterator itr=l2.iterator();
    while(itr.hasNext()){
    Object a[]=(Object[])itr.next();
    System.out.println(a[0]+"/t"a[1]);
    }

    OriginalEl autor Karthik Reddy

  5. 1

    Sin iteradores:

    @SuppressWarnings( "unchecked" ) 
    public List<Employee> findByDepartment(long departmentId){ 
    
        SQLQuery query = session.createSQLQuery("SELECT {emp.*} " +
                                                 " FROM employee emp " + 
                                                +"WHERE emp.department_id = :departement_id");
        query.setLong("department_id",  departmentId);
        query.addEntity("emp",  Employee.class);                        
        return (List<Employee>) = query.list();
    }

    OriginalEl autor borjab

Dejar respuesta

Please enter your comment!
Please enter your name here