2010-12-14 62 views
0

J'ai un projet déjà développé en utilisant java, jsp et JPA (open jpa). Maintenant, je veux ajouter une nouvelle API pour récupérer des données de DB.Am pas beaucoup familier avec JPA.Now je veux prendre une jointure de 3 tables atbl, Btbl et Ctble, puis vérifier certaines conditions et enfin remplir le haricot corresopnding à la table Atble.I a vu aa API comme suitinterroger une table en utilisant JPA et remplir un corresopind bean à une table

String sql = "SELECT A.* FROM Atble A, Btbl B WHERE A.xyz = B.pqr 
     AND A.field1 = ? AND B.field2 = 'SubComponent' AND B.field3 = ? "; 
     Query q = em.createNativeQuery(sql, A.class); 
     q.setParameter(1,"aa"); 
     q.setParameter(2, "aa"); 
     q.setParameter(3, "cc"); 

     List<A> a = (List<A>) q 
      .getResultList(); 

-t-il peupler le bean pour A directement? Si non comment puis-je peupler le bean pour A

Répondre

1

Cela va retourner une liste, donc ça devrait bien fonctionner.

Vous pouvez également envisager d'utiliser JPQL au lieu d'une requête SQL native, mais si vous êtes plus à l'aise avec SQL, c'est bien.