Bienvenida

Como todo en la vida, la innovación es la clave del éxito por lo que nos hemos visto en la necesidad de "evolucionar" este blog para abarcar muchos otros temas que estaban quedando de lado en nuestros cursos "oficiales".

Si deseas aprender o profundizar algunos temas en particular, no dudes en contactarnos.


miércoles, 15 de junio de 2011

Semana 08: Solución del examen parcial ( G2 )

Bueno ... En este grupo solo tengo a los 7 magníficos de los cuales sólo vienen 5.

Si se dieron cuenta, el trabajo con JPA consiste en establecer la relaciones entre las entidades ( modelar ) ...acuerdense del "profesor Navarro"  y de la malla curricular que han estudiado.

He aquí la solución del examen (dar click ).  Las clases y la BD están aquí.



Y la acostumbrada foto de rigor ... No se por que motivo siempre salen sonriendo .... hasta ahora no detecto como lo hacen .... ya lo sabré ... ja ja ja 




PD: Esta fue la continua #2 del ciclo 2010-II .... por ahí que alguno que está llevando por 2da vez conmigo ya se dió cuenta ... pero NO LO VUELVO A HACER .... así que estudien ...

Saludos

2 comentarios:

  1. Profe una consulta en JPA como haria un Pivot es decir en mysql es sencillo por ejemplo:

    Este es un simple
    CREATE TABLE supparts(supID char(2),partID char(2));
    INSERT INTO supparts VALUES
    ('s1','p1'),('s1','p2'),('s1','p3'),('s1','p4'),('s1','p5'),('s1','p6'),
    ('s2','p1'),('s2','p2'),('s3','p2'),('s4','p2'),('s4','p4'),('s4','p5');

    SELECT partID,GROUP_CONCAT(supID ORDER BY supID) AS Suppliers
    FROM supparts
    GROUP BY partID;
    +--------+-------------+
    | partID | Suppliers |
    +--------+-------------+
    | p1 | s1,s2 |
    | p2 | s1,s2,s3,s4 |
    | p3 | s1 |
    | p4 | s1,s4 |
    | p5 | s1,s4 |
    | p6 | s1 |
    +--------+-------------+

    esta es la pagina donde hay varios ejemplos y varias maneras de hacer ...

    http://www.artfulsoftware.com/infotree/queries.php

    gracias
    I820647
    Daniel Delgado Cabrera

    ResponderEliminar
  2. GROUP_CONCAT es una facilidad de MySQL : http://dev.mysql.com/doc/refman/5.0/es/group-by-functions.html

    Lo puedes reemplazar usando el siguiente programa (asume que la entidad esta creada ):

    public static void main(String[] args) {
    EntityManagerFactory entityManagerFactory =
    Persistence.createEntityManagerFactory("Demo");

    EntityManager em = entityManagerFactory.createEntityManager();

    String sql = "SELECT DISTINCT a.partID FROM SUPPA a ORDER BY a.partID";

    List l1 = em.createQuery(sql).getResultList();

    for ( int i = 0; i < l1.size(); i++ ) {
    String a = (String) l1.get(i);

    String sql2 = "SELECT a.supID FROM SUPPA a WHERE a.partID = ?1 ORDER BY a.supID";

    Query q = em.createQuery(sql2);
    q.setParameter(1, a);
    List l2 = q.getResultList();

    String supps ="";
    for ( int j=0; j < l2.size(); j++ ) {
    supps = supps + " " + l2.get(j);
    }

    System.out.println("PartID " + a + " " + supps );

    }
    em.close();
    entityManagerFactory.close();
    }

    ResponderEliminar