Hibernate ORM
- What is Hibernate?
- Why use Hibernate? (Advantages over JDBC)
- Core concepts: ORM (Object-Relational Mapping)
- Installation and dependencies (Maven/Gradle)
- Hibernate configuration (
hibernate.cfg.xml
or annotations)
- Database connection properties
- Entity creation (annotations
@Entity
, @Table
, etc.)
- Relationship mapping:
- One-to-One (
@OneToOne
)
- One-to-Many (
@OneToMany
)
- Many-to-One (
@ManyToOne
)
- Many-to-Many (
@ManyToMany
)
- ID management (
@Id
, ID generation strategies)
4- CRUD Operations with Hibernate
- Creating sessions and transactions
- CRUD operations (Create, Read, Update, Delete)
- Exception handling
5- Querying with Hibernate
- HQL (Hibernate Query Language)
- Criteria API (programmatic queries)
- Native SQL queries (
@NamedNativeQuery
)
6- Caching in Hibernate
- What is caching?
- Cache levels:
- First-level cache (session)
- Second-level cache (session factory)
- Configuration and usage
7- Performance and Optimization
- Performance best practices
- Lazy loading vs eager loading (
@Fetch
, @Lazy
)
- Batch processing and pagination
8- Transactions and Concurrency
- Transaction management in Hibernate
- Transaction strategies (
@Transactional
)
- Concurrency: optimistic locking (
@Version
) vs pessimistic locking
9- Spring Integration
- Configuring Hibernate with Spring
- Using
SessionFactory
and HibernateTemplate
- Introduction to Spring Data JPA
10- Practical Use Cases and Best Practices
- Complete example: Hibernate application
- Common pitfalls and solutions
- Conclusion and future of Hibernate
0 Comments