Hibernate
This repository contains two projects: sample-1 and sample-2. They showcase the usage and implementation of Hibernate, a Java-based ORM framework. Sample-1 covers the fundamentals, including entity mapping and CRUD operations. Sample-2 explores advanced features like inheritance mapping, associations, caching, and transactions.
Install / Use
/learn @Shubh2-0/HibernateREADME
🗄️ Hibernate ORM Learning Repository
<img src="https://hibernate.org/images/hibernate-logo.svg" alt="Hibernate Logo" width="300"/>Master Java Persistence with Hibernate ORM Framework
A comprehensive collection of Hibernate projects covering fundamentals to advanced ORM concepts
Explore Projects · Get Started · Contribute
</div>📖 Table of Contents
🎯 About
This repository serves as a complete learning resource for mastering Hibernate ORM (Object-Relational Mapping) in Java. Whether you're a beginner looking to understand the basics of database persistence or an experienced developer exploring advanced mapping techniques, this repository has you covered.
What You'll Learn
- ✅ Entity Mapping - Map Java objects to database tables
- ✅ CRUD Operations - Create, Read, Update, Delete with Hibernate
- ✅ HQL Queries - Hibernate Query Language fundamentals
- ✅ Association Mappings - One-to-One, One-to-Many, Many-to-Many
- ✅ Inheritance Mapping - Table per class, Single table, Joined strategies
- ✅ Caching Mechanisms - First-level and second-level cache
- ✅ Transaction Management - ACID properties implementation
📁 Projects
🔰 Sample-1: Hibernate Fundamentals
The foundational project covering essential Hibernate concepts:
| Topic | Description | |-------|-------------| | Entity Mapping | Basic @Entity, @Table, @Column annotations | | Session Factory | Configuration and session management | | CRUD Operations | Persist, merge, remove, and find operations | | HQL Basics | Simple queries using Hibernate Query Language |
🚀 Sample-2: Advanced Hibernate Concepts
Deep dive into complex Hibernate features:
| Topic | Description | |-------|-------------| | Association Mapping | @OneToOne, @OneToMany, @ManyToMany | | Inheritance Strategies | SINGLE_TABLE, TABLE_PER_CLASS, JOINED | | Cascade Operations | CascadeType.ALL, PERSIST, MERGE | | Fetch Strategies | FetchType.LAZY vs FetchType.EAGER |
🛠️ Technologies
<div align="center">| Technology | Version | Purpose | |:----------:|:-------:|:-------:| | <img src="https://skillicons.dev/icons?i=java" width="40"/> | 8+ | Programming Language | | <img src="https://skillicons.dev/icons?i=hibernate" width="40"/> | 5.4.5 | ORM Framework | | <img src="https://skillicons.dev/icons?i=mysql" width="40"/> | 8.0+ | Database | | <img src="https://skillicons.dev/icons?i=maven" width="40"/> | 3.6+ | Build Tool |
</div>🚀 Getting Started
Prerequisites
- Java JDK 8+ installed
- Maven installed
- MySQL Server running
- IDE (IntelliJ IDEA / Eclipse recommended)
Installation
1️⃣ Clone the repository
git clone https://github.com/Shubh2-0/Hibernate.git
cd Hibernate
2️⃣ Create MySQL Database
CREATE DATABASE hibernate_learning;
3️⃣ Configure Database Connection
Update hibernate.cfg.xml in each project with your credentials.
4️⃣ Build and Run
cd Sample-1
mvn clean install
📚 Learning Path
📌 Start Here
│
▼
┌─────────────────┐
│ Sample-1 │ ──► Entity Mapping ──► Session Factory ──► CRUD
│ (Basics) │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Sample-2 │ ──► Associations ──► Inheritance ──► Caching
│ (Advanced) │
└────────┬────────┘
│
▼
🎉 Master Level!
🤝 Contributing
Contributions make the open-source community amazing! Here's how you can help:
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
📬 Contact
<div align="center">Shubham Bhati - Java Developer
</div><div align="center">
⭐ Star this repository if it helped you learn Hibernate!
Keywords: Hibernate Java ORM JPA MySQL Database CRUD Entity-Mapping Spring Backend
<img src="https://capsule-render.vercel.app/api?type=waving&color=gradient&height=60§ion=footer"/> </div>