
Explore relational database basics: tables, records, and fields, with key relations. Learn how SQL enables data access and how to weigh advantages for Hibernate projects.
Create your first Hibernate application by building models for students, courses, and grades, configuring the database session, and performing create, read, update, and delete operations.
Explore the persistence lifecycle in Hibernate, tracing how objects move from transient to persistent, detached, and removed states within a session.
Master CRUD operations with Hibernate by creating and persisting entity instances, updating and deleting data within transactions, and configuring persistence with create, update, and drop options.
Explore loading, merging, and saving data in Hibernate, and explain the differences between load and get, including proxies versus real objects, plus refresh and flush in a session.
Explore one-to-one associations in Hibernate and contrast them with one-to-many, many-to-one, and many-to-many relationships, using embeddable options, fetch types, and cascading operations.
Learn to implement one-to-many associations in Hibernate, choosing between a column in the owning table or a separate join table, with a subscriber table and related address records.
Explore the many-to-many association between carts and products using a join table in Hibernate, illustrated by a shopping cart scenario with customers, mapped by relationships and fetch strategies.
Set up a persistence unit and entity manager to manage model entities with Hibernate and JPA, then compare using JPA with Hibernate and switch between units for different cases.
Discover how to map inheritance hierarchies in Hibernate, exploring single table, joined table, and table-per-class strategies, with discriminator columns and practical trade-offs for database design.
Explore JPA annotations for temporal data precision, enumeration, and element collections; understand how to map embeddables, collection tables, and fetch strategies, and how to order results by a given column.
Explore the session object in Hibernate from scratch, manage database interactions with create, read, update, delete operations, and control object states through transient, persistent, and detached lifecycles.
Master Hibernate transactions by starting, committing, and rolling back changes, and navigate isolation levels and locking to prevent concurrency issues. Explore optimistic and pessimistic locking and versioning for concurrent updates.
Configure level 1 caching as the default and enable level 2 caching when needed, while evicting or clearing specific or all items and using query caching to speed reads.
Hibernate query language lets you manage persistent objects with insert, update, select, and delete using an object-oriented JPQL superset, while supporting native queries and named queries.
Use projections with select queries to fetch only needed attributes, reducing memory and network usage. Apply restrictions with logical operators and named parameters to prevent injection.
Learn how to implement paging in a Hibernate web app by fetching a page of employees using setFirstResult and setMaxResults, with DAO and service layers.
Explore how Hibernate associations link employees and salaries using inner, left, right, and full joins, model one-to-many relations, and run representative queries.
Explore Hibernate's criteria API to build type-safe queries, create criteria with roots and joins, and retrieve single or multi-column results such as employee first and last names and salaries.
Learn how to implement a Hibernate connection pool with c3p0, understand why pooling reduces expensive connections, and configure max and min pool sizes, timeouts, and checkout tests.
This course offers to teach you Hibernate from beginner to advanced topics. If you are a Java developer and want to learn Hibernate or you used Hibernate but you want to expand your knowledge, this course is for you! At the end of this course, you will learn all the topics related with Hibernate and you will have sample projects which you can easily adapt and use for your own projects.