AI-assisted — how our quizzes are made
Fundamentals of the Java Persistence API: entities, the persistence context, EntityManager, and the entity lifecycle.
20 questionsMapping Java classes to database tables: @Column, @Table, inheritance strategies, embedded objects, and composite keys.
20 questionsMapping one-to-one, one-to-many, many-to-one, and many-to-many relationships. Cascading, fetch types, and join columns.
Writing queries with JPQL, Criteria API, and native SQL. Named queries and dynamic query construction.
20 questionsTransaction management in Spring: @Transactional, propagation, isolation levels, rollback rules, and transaction boundaries.
20 questionsSpring Data repositories: CrudRepository, JpaRepository, PagingAndSortingRepository, custom implementations, and derived query methods.
20 questionsSpring Data query methods: method name derivation, @Query annotation, Querydsl integration, and projections.
20 questionsHibernate internals: first-level and second-level cache, session factory, dirty checking, and flushing strategies.
20 questionsIdentifying and fixing N+1 problems, using batch fetching, entity graphs, and pagination best practices.
20 questionsDatabase schema management with Hibernate DDL auto, Flyway, and Liquibase. Auditing with Spring Data Auditing and Envers.
20 questionsWhat SQL hint does LockModeType.PESSIMISTIC_WRITE generate?
FOR SHARE
FOR UPDATE
LOCK IN EXCLUSIVE MODE
WITH UPDLOCK
What happens when EntityManager.flush() is called?
The persistence context is cleared
All managed entities are detached
Pending SQL statements are sent to the database
The transaction is committed
What exception is thrown when accessing a lazy-loaded association outside a transaction?
EntityNotFoundException
LazyInitializationException
TransactionRequiredException
PersistenceException