2011-01-23 7 views
3

J'ai une application où je dois permettre aux utilisateurs finaux de créer des rapports ad hoc en définissant leurs options par un certain type d'assistant dont le processus serait quelque chose comme:requêtes dynamiques avec mise en veille prolongée

1) User selects the table(s) he wants to query (eg person, project, activities) 
2) defines the list of fields he requires (eg name, email, projects, activity, activity info) 
3) supplies the filter criteria for the records to return (eg Person name, ongoing activities) 

J'utilise hiberner en base de données postgres avec plus de 100 tables. Bien sûr, je ne peux pas laisser l'utilisateur choisir une de ces tables, car elles n'ont aucun sens. Mais quelques 10 tables principales (comme celles d'en haut).

donc j'ai besoin des conseils sur la façon de:

  1. Est-il possible et comment définir des jointures et des relations entre ces tables et leurs autres relations dynamiquement?
  2. Sinon, (ou trop complexe), quelle serait la meilleure façon de prédéfinir ces jointures et chemins d'accès à la base de données, puis de laisser l'utilisateur paramétrer les filtres uniquement?
  3. Obtenez les données de plus d'un objet Hibernate et laissez l'utilisateur choisir les champs qu'il souhaite.

J'apprécie beaucoup tous les commentaires, si je n'ai pas expliqué le besoin correctement s'il vous plaît écrivez.

Répondre

0
+1

avez-vous peut-être un lien avec quelques bons exemples où les critères utilisés pour interroger à partir de plusieurs tables (est-il possible de le faire avec des tables qui ne sont pas parent/enfant relationshp)? – Julia

+0

Il devrait être possible d'utiliser des projections (s'il vous plaît, google pour des exemples). Néanmoins Hibernate est un outil ORM et il est préférable de l'utiliser pour ce qu'il est prévu - de travailler avec une classe à la fois, pas avec la forme relationnelle. –

+2

Les liens seulement sont fortement déconseillés en tant que réponses SO. Citez les parties spécifiques de la page (s) liée (s) qui le rend utile pour l'OP. – KjetilNordin

Questions connexes