JavaRush /Blog Java /Random-FR /Hiberner pour les nuls. Critique du livre "Java Persisten...

Hiberner pour les nuls. Critique du livre "Java Persistence API and Hibernate"

Publié dans le groupe Random-FR
Ce n’est un secret pour personne : la plupart de la littérature technique dans le monde est rédigée en anglais. Et le développement Java ne fait pas exception ici : une partie importante du matériel soit n'est pas du tout disponible en russe, soit est traduit de telle manière qu'il est préférable d'apprendre à l'aide de Google Translate. Ce sera d'autant plus joyeux pour toute la communauté Java russophone que le livre le plus célèbre sur ce sujet, « Java Persistence API with Hibernate », a été traduit en russe il y a environ six mois.
Hiberner pour les nuls.  Critique de livre
Si vous souhaitez devenir développeur Java, vous devrez un jour apprendre à utiliser Hibernate . Bien sûr, il existe des exceptions à toute règle, tout dépend du projet spécifique, etc. Mais si vous regardez votre carrière sur le long terme, dans le vrai travail, vous rencontrerez certainement cette bibliothèque. Sans exagération, le livre présenté dans l'article peut être qualifié de fondamental : c'est le guide principal d'Hibernate parmi tout ce qui a été écrit sur cette technologie. Cela s'explique assez facilement, car parmi ses auteurs figurent le fondateur du projet Hibernate, Gavin King, et Christian Bauer, membre de l'équipe de développement d'Hibarnate. Pour moi personnellement, cela a immédiatement agi comme une sorte de garant de la qualité : qui est doué pour fouiller dans la technologie sinon ses créateurs :) En revanche, il n'est pas toujours vrai qu'un bon spécialiste ou même le créateur d'un la technologie peut écrire un livre éducatif facile à comprendre. Quoi qu’on en dise, les compétences personnelles et la capacité d’enseigner n’ont pratiquement aucune corrélation entre elles. Un exemple est le légendaire « The Art of Programming » de Knuth ou le « C++ Programming Language » de son créateur Bjarne Stroustrup. Et s'il est impossible de nier le plus haut niveau de connaissance des auteurs, alors leurs livres sont, pour le moins, difficiles à lire. Heureusement, les créateurs d'Hibernate et les auteurs de ce livre ont créé un produit tout à fait compréhensible du point de vue d'un programmeur novice. À qui s'adresse ce livre : comme la plupart des livres similaires, le résumé indique qu'il s'adresse « à tout le monde », y compris à ceux qui apprennent Hibernate à partir de zéro. En fait, il est encore préférable d’avoir une certaine préparation préalable sous forme de technologies associées. Vous trouverez ci-dessous une liste de choses qui vous faciliteront grandement la vie lors de la lecture de ce livre.
  1. Si vous ne savez pas ce que sont les bases de données relationnelles, vous ne pouvez pas créer de table ni même écrire une simple requête SELECT, etc. - il vaut mieux commencer par ça. D'ailleurs, cela sera utile pour ceux qui envisagent de participer au stage JavaRush. Commencez avec SQL, mettez en veille prolongée plus tard. Heureusement, un excellent Head-First a été écrit en SQL (à mon goût, l'un des meilleurs Head-First de toute la série).

  2. JDBC . La technologie est loin d’être nouvelle, mais de nombreux développeurs expérimentés la préfèrent encore à Hibernate.

  3. Après cela, ce serait bien de lire (au moins superficiellement) ce qu'est un ORM et pourquoi il est nécessaire . Après tout, Hibernate est avant tout un ORM, c'est-à-dire un objet qui transforme les objets Java en enregistrements de base de données (et vice versa).

    Par exemple, vous avez une classe User, une classe Auto et chaque utilisateur a une liste de ses voitures List<Auto> autos.

    Comment enregistrer tout cela dans une base de données pour que les connexions entre les utilisateurs et leurs machines soient préservées ? Après tout, il n’y a qu’un seul utilisateur, mais il peut avoir plusieurs machines :/ Comment pouvons-nous supprimer automatiquement toutes les machines de l’utilisateur de la base de données si nous supprimons l’utilisateur lui-même (c’est-à-dire interdire à la base de données de stocker des machines « orphelines ») ? Hibernate sait comment faire :)

  4. De plus, Java possède sa propre implémentation du modèle ORM - Java Persistence API , ou simplement JPA. Ce sujet est également abordé dans le livre, mais il est préférable de le parcourir d'abord. Vous n'avez pas besoin de lire des tonnes de littérature sur le sujet : si vous savez ce qu'est un POJO, une entité, et quelles exigences s'appliquent à une entité, ce sera très bien.

  5. Si vous n'êtes pas familier avec le format XML , il est temps de vous y familiariser avant de lire ce livre. Très souvent, les fichiers de configuration d'Hibernate (ainsi que Spring) sont écrits au format XML, et si cela vous terrifie, il sera plus difficile de lire le livre.

  6. Si vous êtes familier avec les modèles de conception (au moins grâce aux tâches JavaRush), vous pouvez en savoir plus sur le modèle DAO et pourquoi il est nécessaire. DAO est très simple à mettre en œuvre avec Hibernate. À propos, les participants au stage créeront des « daos » lors de la rédaction d'une tâche de test (et également sur le projet lui-même). Et dans le vrai travail, les créer est une tâche de routine, ce ne sera donc pas superflu.

Une connaissance préliminaire de tout ce qui précède simplifiera grandement vos études (et au travail, c'est, comme on dit, un incontournable). En conclusion - un peu à mon humble avis sur les avantages et les inconvénients du livre. Avantages:
  • Une assez bonne traduction de l'anglais . Je ne pense pas qu’il soit utile d’écrire séparément sur l’importance de ce point. Bien sûr, l'original sera toujours meilleur, et si vous connaissez l'anglais à un niveau suffisant, il vaut mieux le lire. Cependant, pour ceux qui ne sont pas encore à l'aise avec l'anglais, mais qui ne veulent pas arrêter leurs études pour cette raison, c'est une excellente option.

  • Très large couverture des sujets . Presque tous les « intérieurs » de la bibliothèque sont décrits. À propos de quelque chose de très détaillé, de quelque chose de plus parcimonieux. Mais dans l’ensemble, la couverture s’est avérée plutôt correcte.

  • Langage simple et compréhensible .

Parmi les inconvénients, je ne peux que souligner des exemples. À mon avis, ils pourraient être plus simples et plus concis. Et étant donné le volume de nouvelles informations qui tombent sur le lecteur, il peut être difficile pour un débutant de simplement compiler et de faire fonctionner le tout. Sans parler de comprendre ce qui se passe dans le code. Je peux personnellement vous recommander de ne pas vous embêter à cloner des exemples de GitHub et de les saisir vous-même. Et vous comprendrez mieux, et votre compréhension sera bien meilleure. Mieux encore, après avoir lu le chapitre suivant, proposez et mettez en œuvre vous-même une tâche. Ce sera beaucoup plus productif, même si la tâche est très simple. Est-ce que ça vaut le coup d'acheter le livre ? Définitivement oui. De plus, son tirage papier n'est que de 200 exemplaires :) Sur la base des matériaux de ce livre, j'ai assez facilement écrit mon premier article sur Habrahabr. Et l'administration JavaRush, à mon avis, devrait absolument l'ajouter à la liste des prix de son concours :) Merci pour votre attention, et bonne chance dans vos études !
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION