[{"data":1,"prerenderedAt":352},["ShallowReactive",2],{"menu-featured-themes":3,"course-hibernate-et-jpa-maitriser-la-persistance-des-donnees-en-java":323},[4,26,93,105,132,184,196,218,255,267,304],{"_id":5,"name":6,"slug":7,"metadata":8,"courses":10},"b00f0fff-150d-444f-aced-509768f8da96","Bases de données","bases-de-donnees",{"theme-icon-name":9},"solar:database-linear",[11,16,21],{"name":12,"slug":13,"metadata":14,"theme":15},"Langage SQL : fondations, requêtes avancées et optimisation","langage-sql-fondations-requetes-avancees-et-optimisation",[],{"_id":5},{"name":17,"slug":18,"metadata":19,"theme":20},"MongoDB","mongodb",[],{"_id":5},{"name":22,"slug":23,"metadata":24,"theme":25},"MySQL","mysql",[],{"_id":5},{"_id":27,"name":28,"slug":29,"metadata":30,"courses":32},"08de519f-b33c-4368-84f7-564b178cc5ba","Développement logiciel","developpement-logiciel",{"theme-icon-name":31},"solar:chat-square-code-linear",[33,38,43,48,53,58,63,68,73,78,83,88],{"name":34,"slug":35,"metadata":36,"theme":37},"Découverte du langage Rust : fondamentaux et premiers projets","decouverte-du-langage-rust-fondamentaux-et-premiers-projets",[],{"_id":27},{"name":39,"slug":40,"metadata":41,"theme":42},"Langage Go : bases essentielles et programmation concurrente ","langage-go-bases-essentielles-et-programmation-concurrente",[],{"_id":27},{"name":44,"slug":45,"metadata":46,"theme":47},"Initiation au langage C : fondamentaux et mise en pratique ","initiation-au-langage-c-fondamentaux-et-mise-en-pratique",[],{"_id":27},{"name":49,"slug":50,"metadata":51,"theme":52},"Programmation en langage C++ : principes et pratique ","programmation-en-langage-c-principes-et-pratique",[],{"_id":27},{"name":54,"slug":55,"metadata":56,"theme":57},"C# avancé","c-avance",[],{"_id":27},{"name":59,"slug":60,"metadata":61,"theme":62},"C#","c",[],{"_id":27},{"name":64,"slug":65,"metadata":66,"theme":67},"Test unitaire TDD ","test-unitaire-tdd",[],{"_id":27},{"name":69,"slug":70,"metadata":71,"theme":72},"Python avancé","python-avance",[],{"_id":27},{"name":74,"slug":75,"metadata":76,"theme":77},"Python","python",[],{"_id":27},{"name":79,"slug":80,"metadata":81,"theme":82},"JAVA AVANCÉ","java-avance",[],{"_id":27},{"name":84,"slug":85,"metadata":86,"theme":87},"Java EE","java-ee",[],{"_id":27},{"name":89,"slug":90,"metadata":91,"theme":92},"Java","java",[],{"_id":27},{"_id":94,"name":95,"slug":96,"metadata":97,"courses":99},"6951e3d6-ef98-4e7c-910f-cce2f408dd0e","Développement mobile","developpement-mobile",{"theme-icon-name":98},"solar:monitor-smartphone-linear",[100],{"name":101,"slug":102,"metadata":103,"theme":104},"Android","android",[],{"_id":94},{"_id":106,"name":107,"slug":108,"metadata":109,"courses":111},"448a5bc8-7a9a-4817-ab01-178c3abb1d35","Développement Web Backend","developpement-web-backend",{"theme-icon-name":110},"solar:server-minimalistic-linear",[112,117,122,127],{"name":113,"slug":114,"metadata":115,"theme":116},"Développeur Web PHP : création d’applications dynamiques","developpeur-web-php-creation-d-applications-dynamiques",[],{"_id":106},{"name":118,"slug":119,"metadata":120,"theme":121},"Node JS","node-js",[],{"_id":106},{"name":123,"slug":124,"metadata":125,"theme":126},"Spring","spring",[],{"_id":106},{"name":128,"slug":129,"metadata":130,"theme":131},"ASP.NET Core MVC ","asp-net-core-mvc",[],{"_id":106},{"_id":133,"name":134,"slug":135,"metadata":136,"courses":138},"abd712b8-6a6c-4c9b-b382-0aea1eac47d6","Développement Web Frontend","developpement-web-frontend",{"theme-icon-name":137},"mdi:open-in-browser",[139,144,149,154,159,164,169,174,179],{"name":140,"slug":141,"metadata":142,"theme":143},"Conception et développement Web accessible : fondations et pratiques essentielles","conception-et-developpement-web-accessible-fondations-et-pratiques-essentielles",[],{"_id":133},{"name":145,"slug":146,"metadata":147,"theme":148},"Programmation JavaScript : bases essentielles et manipulation web ","programmation-javascript-bases-essentielles-et-manipulation-web",[],{"_id":133},{"name":150,"slug":151,"metadata":152,"theme":153},"TypeScript","typescript",[],{"_id":133},{"name":155,"slug":156,"metadata":157,"theme":158},"Industrialisation front-end ","industrialisation-front-end",[],{"_id":133},{"name":160,"slug":161,"metadata":162,"theme":163},"React avancé","react-avance",[],{"_id":133},{"name":165,"slug":166,"metadata":167,"theme":168},"Angular avancé","angular-avance",[],{"_id":133},{"name":170,"slug":171,"metadata":172,"theme":173},"Vue JS ","vue-js",[],{"_id":133},{"name":175,"slug":176,"metadata":177,"theme":178},"React ","react",[],{"_id":133},{"name":180,"slug":181,"metadata":182,"theme":183},"Angular","angular",[],{"_id":133},{"_id":185,"name":186,"slug":187,"metadata":188,"courses":190},"69210f90-fd72-449a-876c-723ed8025ca2","Développement Web responsable","developpement-web-responsable",{"theme-icon-name":189},"mdi:search-web",[191],{"name":192,"slug":193,"metadata":194,"theme":195},"Développement web éco-responsable & Backend basse consommation","developpement-web-eco-responsable-backend-basse-consommation",[],{"_id":185},{"_id":197,"name":198,"slug":199,"metadata":200,"courses":202},"81cc5878-3028-4c38-809e-d689f9d814a8","DevOps","devops",{"theme-icon-name":201},"mdi:microsoft-azure-devops",[203,208,213],{"name":204,"slug":205,"metadata":206,"theme":207},"Terraform","terraform",[],{"_id":197},{"name":209,"slug":210,"metadata":211,"theme":212},"Kubernetes","kubernetes",[],{"_id":197},{"name":214,"slug":215,"metadata":216,"theme":217},"AWS","aws",[],{"_id":197},{"_id":219,"name":220,"slug":221,"metadata":222,"courses":224},"6ed0fa01-28f8-41af-9a81-27a12556e38f","Gestion de projet","gestion-de-projet",{"theme-icon-name":223},"solar:bill-list-linear",[225,230,235,240,245,250],{"name":226,"slug":227,"metadata":228,"theme":229},"Management et gestion de projets opérationnels","management-et-gestion-de-projets-operationnels",[],{"_id":219},{"name":231,"slug":232,"metadata":233,"theme":234},"Devenir Coach Agile ","devenir-coach-agile",[],{"_id":219},{"name":236,"slug":237,"metadata":238,"theme":239},"Comprendre et appliquer Kanban ","comprendre-et-appliquer-kanban",[],{"_id":219},{"name":241,"slug":242,"metadata":243,"theme":244},"Comprendre la démarche Agile ","comprendre-la-demarche-agile",[],{"_id":219},{"name":246,"slug":247,"metadata":248,"theme":249},"GITLAB : de la gestion de projet aux pipelines avancés","gitlab-de-la-gestion-de-projet-aux-pipelines-avances",[],{"_id":219},{"name":251,"slug":252,"metadata":253,"theme":254},"Méthodes agiles","methodes-agiles",[],{"_id":219},{"_id":256,"name":257,"slug":258,"metadata":259,"courses":261},"1bfd6e41-c2b0-4813-a29b-c9e1c486b5d0","Intelligence Artificielle","intelligence-artificielle",{"theme-icon-name":260},"solar:cpu-bold-duotone",[262],{"name":263,"slug":264,"metadata":265,"theme":266},"Initiation à l’intelligence artificielle et aux principaux outils de Deep Learning ","initiation-a-l-intelligence-artificielle-et-aux-principaux-outils-de-deep-learning",[],{"_id":256},{"_id":268,"name":269,"slug":270,"metadata":271,"courses":273},"174b8e60-d342-450b-a484-35bc04a711fd","Microsoft Azure","microsoft-azure",{"theme-icon-name":272},"mdi:microsoft-azure",[274,279,284,289,294,299],{"name":275,"slug":276,"metadata":277,"theme":278},"Microsoft Azure - Conception de solutions d'infrastructure (AZ-305)","microsoft-azure-conception-de-solutions-d-infrastructure-az-305",[],{"_id":268},{"name":280,"slug":281,"metadata":282,"theme":283},"Microsoft Azure AI - Les fondamentaux","microsoft-azure-ai-les-fondamentaux",[],{"_id":268},{"name":285,"slug":286,"metadata":287,"theme":288},"Microsoft Azure - Administrateur (AZ-104) ","microsoft-azure-administrateur-az-104",[],{"_id":268},{"name":290,"slug":291,"metadata":292,"theme":293},"Microsoft Azure - Fondamentaux (AZ-900) ","microsoft-azure-fondamentaux-az-900",[],{"_id":268},{"name":295,"slug":296,"metadata":297,"theme":298},"Microsoft Azure - Développement de solutions (AZ-204) ","microsoft-azure-developpement-de-solutions-az-204",[],{"_id":268},{"name":300,"slug":301,"metadata":302,"theme":303},"Conception et mise en oeuvre de solutions Microsoft DevOps (AZ-400)  ","conception-et-mise-en-oeuvre-de-solutions-microsoft-devops-az-400",[],{"_id":268},{"_id":305,"name":306,"slug":307,"metadata":308,"courses":310,"collectiveGroups":311},"collective-actions-theme","Formations actions collectives","formations-actions-collectives",{"theme-icon-name":309},"mdi:account-group",[],[312],{"themeId":219,"themeName":220,"themeIcon":223,"courses":313},[314,317,320],{"name":231,"slug":232,"metadata":315,"theme":316},[],{"_id":219},{"name":236,"slug":237,"metadata":318,"theme":319},[],{"_id":219},{"name":241,"slug":242,"metadata":321,"theme":322},[],{"_id":219},{"id":324,"name":325,"slug":326,"location":327,"targetAudienceFormatMarkdown":328,"prerequisitesFormatMarkdown":329,"objectivesFormatMarkdown":330,"descriptionFormatMarkdown":331,"teachingMethodsFormatMarkdown":332,"teachingResourcesFormatMarkdown":333,"evaluationMethodsFormatMarkdown":334,"accessibilityFormatMarkdown":335,"accessMethodsFormatMarkdown":336,"minimumParticipants":337,"maximumParticipants":337,"duration":338,"reference":339,"trainerType":327,"updated_at":340,"created_at":341,"price":342,"organizationMode":327,"theme":343,"code":345,"tags":350,"metadata":351},"/api/courses/77e3c2c5-453c-4a43-9463-8b461f1943a1","Hibernate et JPA – Maîtriser la persistance des données en Java ","hibernate-et-jpa-maitriser-la-persistance-des-donnees-en-java",null,"Développeurs Java souhaitant utiliser Hibernate dans des applications d’entreprise. \n\nIngénieurs logiciels et architectes impliqués dans des projets requérant une persistance performante et maintenable. \n\nToute personne souhaitant comprendre l’intégration d’un ORM dans une architecture Java.","-   Maîtrise du langage Java et de la programmation orientée objet. \n-   Connaissance de base de JDBC et des principes de bases de données relationnelles (SQL). \n-   Expérience pratique d’un environnement de développement Java (IDE, gestion de dépendances). ","-   Comprendre les principes de l’ORM et l’architecture de Hibernate. \n-   Configurer et intégrer Hibernate dans des projets Java via JPA. \n-   Modéliser des entités persistantes et gérer les relations complexes entre objets. \n-   Optimiser les accès aux données et les performances via le cache et les stratégies d’interrogation. \n-   Diagnostiquer les problèmes liés à la persistance et appliquer des bonnes pratiques de développement. ","--day1--\n\n## Introduction à l’ORM et configuration de Hibernate \n\n-   Concepts généraux de persistance et introduction à l’ORM (Object-Relational Mapping). \n-   Présentation de Hibernate : rôle, architecture, avantages par rapport à JDBC natif. \n-   Installation et configuration de Hibernate dans un projet Java (fichiers de configuration, dépendances Maven/Gradle). \n-   Exploration de l’API Hibernate et intégration de JPA. \n-   Atelier pratique : mise en place d’un projet simple avec configuration de base. \n\n--break--\n\n## Entités et mapping vers la base de données \n\n-   Définition d’une entité JPA/Hibernate (annotations de mapping). \n-   Correspondance entre types Java et types de base de données. \n-   Stratégies de génération de clés primaires. \n-   Mapping des attributs complexes et valeurs nullables. \n-   Exercice guidé : création d’entités persistantes et première synchronisation avec la base. \n\n--day2--\n\n## Relations entre entités \n\n-   Comprendre et gérer les relations : un à un, un à plusieurs, plusieurs à plusieurs. \n-   Configurer les relations avec les annotations appropriées (@OneToMany, @ManyToOne, etc.). \n-   La notion de cascade et son impact sur les opérations. \n-   Gestion des relations bidirectionnelles et cohérence des jointures. \n-   Atelier pratique : modélisation d’un modèle métier multi-entités. \n\n--break--\n\n## Requêtes et langage de requêtage \n\n-   Présentation de JPQL (Java Persistence Query Language). \n-   Construction de requêtes basiques et complexes avec JPQL. \n-   Utilisation des criteria queries pour des requêtes dynamiques. \n-   Pagination, tri et filtrage des résultats. \n-   Exercices pratiques de construction et d’optimisation de requêtes. \n\n--day3--\n\n## Gestion des transactions et du contexte de persistance \n\n-   Compréhension des transactions dans un contexte ORM. \n-   Gestion du cycle de vie des entités (persist, merge, remove, detach). \n-   Optimisation des performances via le contexte de persistance et le premier niveau de cache. \n-   Stratégies d’isolation et propagation des transactions. \n-   Atelier pratique : gestion transactionnelle en contexte métier réel. \n\n--break--\n\n## Cache de second niveau et performances \n\n-   Concepts de premier et second niveaux de cache. \n-   Configuration du cache de second niveau pour réduire les accès à la base. \n-   Intégration d’un fournisseur de cache externe (ehcache, etc.). \n-   Optimisation des requêtes et stratégies d’accès concurrent. \n-   Exercices pratiques : mise en place d’un cache et analyse des gains. \n\n--day4--\n\n## Bonnes pratiques de design et résolution de problèmes \n\n-   Recommandations pour structurer les entités et les modules persistance. \n-   Gestion des problèmes fréquents (lazy loading, exceptions courantes, conflits de version). \n-   Utilisation des logs et outils de diagnostic pour analyser les requêtes SQL générées. \n-   Atelier de résolution de cas concrets et simulation d’incidents. \n\n--break--\n\n  \n\n## Intégration avancée et synthèse \n\n-   Intégration de Hibernate dans des frameworks (Spring, Spring Boot). \n-   Bonnes pratiques pour tester la couche persistance (tests unitaires, tests d’intégration). \n-   Stratégies de migration et de maintenance du schéma de base de données. \n-   Revue des acquis, retours d’expérience et recommandations pour aller plus loin.","Nos formations, équilibrées entre théorie (50%) et pratique (50%), offrent un apprentissage interactif grâce à des méthodes variées comme les travaux pratiques, les mises en situation et les démonstrations. Des QCM réguliers assurent le suivi des acquis.\n\nVariables suivant les formations, les moyens techniques mis en oeuvre sont :\n\nOrdinateurs Mac ou PC, connexion internet fibre, tableau blanc ou écran (pour le distanciel).\n\nEn cas de formation intra sur site externe à Le Code, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires\n\n(équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué","Les supports pédagogiques sont remis aux stagiaires sous format numérique et/ou papier selon les modalités de la formation.\n\n  \n\nIls comprennent des supports de cours, des présentations, des fiches pratiques, des études de cas, des exercices applicatifs ainsi que des QCM d’entraînement selon la formation. (adapté au choix du formateur)\n\n  \n\nLes formations s’appuient sur des moyens techniques adaptés : ordinateurs, logiciels professionnels, connexion internet, écran ou vidéoprojecteur, ainsi que des outils collaboratifs et de visioconférence pour les formations à distance.\n\n  \n\nL’ensemble des supports pédagogiques est accessible pendant et après la formation afin de favoriser l’appropriation et la mise en pratique des compétences acquises.","En amont de la formation, un recueil des besoins permet de récolter des informations sur le stagiaire et ses attentes. L’évaluation se fait en cours de formation, par des études de cas ou des travaux pratiques. En fin de formation, par un questionnaire d’auto-évaluation et/ou un examen.\n\nUn suivi de qualité est effectué grâce à nos sessions en groupe restreint (entre 2 et 9 participants maximum). Le stagiaire émargera par demi-journée et recevra une attestation de formation.","Nous informons l'ensemble de nos clients et stagiaires que nous sommes dans la capacité d’adapter les sessions selon les handicaps et les situations spécifiques. Nous nous engageons à répondre à toutes vos demandes sous un délai de 48h\n\nouvré.","Si l’une de nos formations vous intéresse, contactez-nous au +33 4 93 65 34 24 ou à l’adresse mail contact@m2g-intellect.fr. Selon votre besoin et vos attentes, nous organiserons un échange téléphonique avec le formateur pressenti afin d’adapter la\n\nformation et ses modules, puis nous vous adresserons un devis.\n\nLes dates de la formation seront à convenir sous 30 jours maximum.",0,"28.00","hibernate","2026-04-22T14:29:24+00:00","2026-04-22T14:04:05+00:00","2600.00",{"id":344,"name":107,"slug":108},"/api/themes/448a5bc8-7a9a-4817-ab01-178c3abb1d35",{"id":346,"label":347,"domain":348},"/api/training_specialities/163","326 - Informatique, traitement de l’information, réseaux de transmission des données",{"label":349},"32 - Communication et information",[],[],1777045467464]