Onlangs heb ik veel geschreven over Hibernate tutorials. Hibernate is een van de beste Java ORM-tools op de huidige markt. Deze post fungeert als een index van alle berichten voor Hibernate tutorials en voorbeelden. Je kunt deze Hibernate tutorials stap voor stap doornemen om Hibernate vanaf het begin te leren. Waarschijnlijk zal ik meer Hibernate tutorials aan de lijst toevoegen, dus het is handig om deze te bookmarken en af en toe te controleren.
Hibernate Tutorial
- Hibernate Tutorial voor Beginners Hibernate ondersteunt JPA-annotaties en is zeer flexibel. We kunnen het configureren met behulp van XML, eigenschappenbestanden en programmatisch. Deze tutorial is een uitstekende manier om vertrouwd te raken met het Hibernate-framework. De nadruk ligt op verschillende configuraties die nodig zijn voor Hibernate en het geven van voorbeelden van eenvoudige op XML gebaseerde mapping en op JPA-annotaties gebaseerde mapping. Je leert ook verschillende manieren om
SessionFactory
te initialiseren en belangrijke componenten van het Hibernate-framework. - Hibernate One-to-One Mapping Meestal zijn database tabellen met elkaar geassocieerd. Er zijn veel vormen van associatie – één-op-één, één-op-veel en veel-op-veel zijn op een breed niveau, die verder kunnen worden onderverdeeld in unidirectionele en bidirectionele mappings. Deze tutorial begeleidt u bij het implementeren van Hibernate One-to-One Mapping met behulp van XML-configuratie en ook met behulp van JPA-annotatieconfiguratie.
- Hibernate One-to-Many Mapping In eenvoudige bewoordingen betekent één-op-veel mapping dat één rij in een tabel kan worden toegewezen aan meerdere rijen in een andere tabel. Denk bijvoorbeeld aan een winkelwagensysteem waarbij we een andere tabel hebben voor items. Een winkelwagen kan meerdere items hebben, dus hier hebben we een één-op-veel mapping. In deze tutorial leert u hoe u One-to-Many Mapping implementeert met behulp van XML-gebaseerde configuratie en vervolgens met behulp van Hibernate-annotaties.
- Hibernate Many-to-Many Mapping Many-to-Many mapping wordt meestal geïmplementeerd in databases met behulp van een verbindings tabel, bijvoorbeeld kunnen we een Cart en Item tabel hebben en Cart_Items tabel voor many-to-many mapping. Elke winkelwagen kan meerdere items hebben en elk item kan deel uitmaken van meerdere winkelwagens, dus hier hebben we een many-to-many mapping. Deze tutorial legt uit over hibernate many-to-many unidirectionele evenals bidirectionele mapping.
- Hibernate Query Language (HQL) Het Hibernate-framework wordt geleverd met een krachtige op objecten gebaseerde querytaal – Hibernate Query Language (HQL). Het lijkt sterk op SQL, behalve dat we objecten gebruiken in plaats van tabelnamen, wat het dichter bij objectgeoriënteerd programmeren brengt. Dit artikel geeft uitleg over HQL en de verschillende clausules die door de HQL-taal worden ondersteund.
- Hibernate Native SQL Query Hibernate biedt de mogelijkheid om native SQL-query’s uit te voeren via het gebruik van het SQLQuery-object. Dit is erg handig wanneer we database-specifieke query’s willen uitvoeren die niet worden ondersteund door de Hibernate API, zoals queryhints of het CONNECT-keyword in Oracle Database.
- Hibernate Named Query Als er veel HQL- of Native SQL-query’s zijn, veroorzaken ze een rommelige code omdat alle query’s verspreid zijn over het hele project. Daarom biedt Hibernate Named Query, die we op een centrale locatie kunnen definiëren en overal in de code kunnen gebruiken. We kunnen genoemde query’s maken voor zowel HQL als Native SQL. Hibernate Named Queries kunnen worden gedefinieerd in Hibernate-mappingsbestanden met behulp van het
query
– ofsql-query
-element, of via het gebruik van JPA-annotaties @NamedQuery en @NamedNativeQuery. - Hibernate Criteria Hibernate biedt de Criteria API aan, die meer objectgeoriënteerd is voor het bevragen van de database en het verkrijgen van resultaten. We kunnen Criteria niet gebruiken om update- of delete-query’s of enige DDL-statements uit te voeren. Het wordt alleen gebruikt om de resultaten uit de database op te halen met een meer objectgeoriënteerde benadering. Enkele veelvoorkomende toepassingen van de Criteria API zijn Projectie die we kunnen gebruiken voor aggregatiefuncties zoals sum(), min(), max(), enzovoort, ProjectionList om alleen geselecteerde kolommen op te halen, het ordenen van de resultaten, enzovoort.
- Hibernate First Level Cache Hibernate-cache kan zeer nuttig zijn om snel prestaties van de applicatie te verbeteren als deze correct wordt gebruikt. Het idee achter de cache is om het aantal databasequery’s te verminderen, waardoor de doorvoertijd van de applicatie wordt verminderd. Hibernate first level cache is geassocieerd met het Session-object. Hibernate first level cache is standaard ingeschakeld en er is geen manier om het uit te schakelen. Hibernate biedt echter methoden waarmee we geselecteerde objecten uit de cache kunnen verwijderen of de cache volledig kunnen wissen. Elk object dat in een sessie wordt gecachet, is niet zichtbaar voor andere sessies en wanneer de sessie wordt gesloten, gaan ook alle gecachte objecten verloren.
- Hibernate Second Level Cache met EHCache Hibernate Second Level Cache-providers omvatten EHCache en Infinispan, maar EHCache is populairder omdat het eenvoudig te integreren is en alle hibernate-cachestrategieën ondersteunt. Deze tutorial biedt een volledig voorbeeld om EHCache te integreren met het Hibernate-framework.
- Hibernate get vs load Hibernate Session biedt verschillende methoden om gegevens uit de database op te halen. Twee daarvan zijn – get() en load(). Er zijn ook veel overbelaste methoden hiervoor, die we in verschillende omstandigheden kunnen gebruiken. Op het eerste gezicht lijken zowel get() als load() op elkaar omdat ze beide gegevens uit de database halen. Er zijn echter enkele verschillen tussen hen, deze tutorial legt ze uit aan de hand van voorbeeldcode.
- Hibernate save vs persist Hibernate Session is de interface tussen de Java-toepassing en het Hibernate-framework. Deze tutorial legt belangrijke methoden van Session uit voor het opslaan en bijwerken van gegevens in tabellen – save, saveOrUpdate, persist, update en merge.
- Hibernate openSession vs getCurrentSession Hibernate SessionFactory is de fabrieksklasse waarmee we sessies krijgen en databasebewerkingen uitvoeren. Hibernate SessionFactory biedt drie methoden waarmee we een Session-object kunnen krijgen – getCurrentSession(), openSession() en openStatelessSession(). In deze handleiding wordt elk van hen uitgelegd aan de hand van voorbeeldcode.
- Hibernate log4j integratie Hibernate 4 maakt gebruik van JBoss-logging, maar log4j is het populairste loggingframework. Een snelle handleiding die uitlegt hoe je log4j-logging integreert met het hibernate-framework.
- Hibernate Tomcat JNDI DataSource Voorbeeld Meestal wordt het hibernate-framework gebruikt in webtoepassingen die draaien in Tomcat of een andere servlet-container. Hibernate kan de DataSource gebruiken die is gedefinieerd als JNDI-bron in de container, dit is de voorkeursaanpak om de servlet-container de databaseverbindingen te laten beheren met behulp van connection pooling.
- Spring Hibernate Integratie Spring is een van de meest gebruikte Java EE-frameworks en Hibernate is het populairste ORM-framework. Daarom wordt de combinatie van Spring Hibernate veel gebruikt in bedrijfstoepassingen. Deze handleiding gebruikt Spring 4 en integreert het met Hibernate 3 en werkt vervolgens hetzelfde project bij om Hibernate 4 te gebruiken.
- Spring MVC Hibernate Voorbeeld Deze tutorial gaat verder en legt uit hoe je Hibernate integreert met Spring MVC en Spring declaratief transactiebeheer gebruikt in plaats van Hibernate transactiebeheer.
- Struts2 Hibernate Integratie Voorbeeld Deze tutorial legt de algemene manier uit om Hibernate te integreren met elke webapplicatie door gebruik te maken van ServletContextLister. Het voorbeeld gebruikt Struts2 met Hibernate, maar achter de schermen gebeurt de integratie alleen met Servlet-technologie. Dit verschilt van Spring-integratie omdat Struts2 geen ingebouwde ondersteuning biedt voor Hibernate-integratie.
- Hibernate Validator Voorbeeld Gegevensvalidatie is een integraal onderdeel van elke toepassing. Het is een taak die zich uitstrekt over de presentatielaag, bedrijfslaag en persistente laag. Daarom biedt JSR-303 een op annotaties gebaseerde standaard voor het toepassen van validatie voor Java Bean-eigenschappen. Hibernate Validator biedt ondersteuning voor JSR-303, en deze tutorial toont het gebruik ervan aan de hand van een eenvoudig voorbeeld.
- Hibernate Tools Eclipse Plugin Als je aan Hibernate-projecten hebt gewerkt, moet je bekend zijn met veel eigenschappen die we nodig hebben voor de Hibernate-mapping en configuratiebestand. Zonder een geschikt hulpmiddel dat ons kan begeleiden bij het zoeken naar de juiste eigenschappen, wordt het erg moeilijk om onze toepassing correct te configureren. Dit is waar de Hibernate Tools Eclipse Plugin van pas komt en een must-have plugin is voor Hibernate-projecten.
- Hibernate Interviewvragen Het hebben van een goede kennis van het Hibernate-framework is een pluspunt voor Java-gebaseerde sollicitatiegesprekken, daarom heb ik deze post geschreven. Het bevat de meeste belangrijke vragen met betrekking tot het Hibernate-framework met gedetailleerde antwoorden. Je zou deze moeten doornemen voordat je naar het sollicitatiegesprek gaat om je kennis op te frissen.
Hibernate Tutorial – Veelvoorkomende Foutoplossingen
- Hoe configureer je hibernate.cfg.xml om offline te werken
- org.hibernate.AnnotationException: Geen identifier gespecificeerd voor entiteit Klasse
- org.hibernate.HibernateException: get is niet geldig zonder actieve transactie
- org.hibernate.HibernateException: Geen CurrentSessionContext geconfigureerd
- Hibernate-programma wordt niet beëindigd
- Toegang tot DialectResolutionInfo kan niet null zijn wanneer ‘hibernate.dialect’ niet is ingesteld
Source:
https://www.digitalocean.com/community/tutorials/hibernate-tutorial