2010-09-08 22 views
2

J'essaie de comprendre le code de certains projets qui n'est pas correctement documenté. Je suis le seul développeur travaillant sur la tâche. Je n'ai pas beaucoup d'expérience. Il y a un modèle de données et il y a quelques classes pour y accéder.Il a été mentionné que le modèle de données a une certaine api de repos par-dessus. Mais quand je vois le code je peux voir gette r code qui fait appel à un peu d'uri. Mais je regarde setter méthodes, il a plaine jpa utilisé pour persisit l'objet. ex extitymanger.persist(objname).REST et JAVA JPA

Maintenant, est-il possible d'utiliser l'interface REST pour obtenir les données et utiliser JPA pour conserver les données?

Répondre

1

Oui, c'est possible. Sans en savoir plus, il n'est pas possible de savoir si c'est efficace. Mon instinct me dit que ce n'est pas la meilleure solution.

+0

merci jacob.Pourquoi ils ont dû faire comme ça? – akp

+1

Très souvent, des ingénieurs peu scrupuleux vont tester de nouvelles technologies pour passer à autre chose à mi-chemin. Cela peut entraîner un désordre mélangé pour les autres à soutenir. Il est également possible qu'ils soient en train de refactoriser lorsque les exigences ou la valeur métier ont changé. –

0

C'est certainement possible. Il semble que les classes d'accès extraient autour d'une base de données pour le stockage. Ainsi, il se comporte comme un DAO et utilise JPA pour accéder à la source de données. Pour les getters, votre classe d'accès utilise une interface REST exposée de certains services. Ainsi, plutôt que d'utiliser JPA pour interroger et renvoyer les données, il utilise un service qui effectue les mêmes tâches.

Peut-être que l'interface REST est un get seulement et ne fournit pas un mécanisme pour stocker des données et c'est pourquoi le JPA direct est utilisé.

+0

merci de répondre à john.Can u plz dites-moi pourquoi ils auraient pu faire comme ça? Pourquoi ne pas utiliser directement JPA pour obtenir les données aussi? – akp

+1

Il peut y avoir plusieurs raisons, mais j'imagine que le code de requête est peut-être complexe et qu'il existait déjà dans le cadre d'un service et qu'il ne voulait pas le répliquer. L'interface REST est probablement soutenue par la même base de données que celle accessible par le code JPA. Y a-t-il une préoccupation particulière ici? Du point de vue de votre code, vous utilisez la classe d'accesseur qui existe déjà, peu importe comment ils ont implémenté les méthodes get/set. –

+0

merci john.Do vous avez plus d'entrées à ce sujet? Ce serait une grande aide pour moi – akp

0

Je pense que la meilleure chose à faire est de oublier d'essayer de travailler sur les morceaux de code individuels et se concentrer sur la Grande image Travailler sur toutes les entrées et toutes les sorties. Même écrire quelques cas de test pour tester diverses entrées créer différentes sorties. De cette façon, vous pouvez comprendre ce que fait le code sans avoir besoin de connaître tous les détails mineurs.