Victor Rentea

Java Champion, ex Lead Architect @IBM
Victor (@VictorRentea) is a Java Champion, and one of the top Technical Trainers, having trained a few thousand developers in dozens of companies worldwide.
Victor’s talks are regularly top-rated at the largest international conferences in Europe: his live-coding sessions are lightning-fast but well crafted, full of enthusiasm, deep insights and take-away tips. His passion is Simple Design, Refactoring, and Unit Testing, about which he regularly talks at top conferences. His personal commitment is to seed passion for writing clean, professional code.

Workshop topic:
JPA/Hibernate Performance Tuning

Time & Date:
November 28th & 29th| 9am-5pm CET

About workshop

Everyone thinks they know Hibernate. And then they have their first performance issue. Or they try to deeply refactor their JPA model. And then, they search for this workshop.


  • Chapter 1: Efficient Searching
      » Lazy Loading: pitfalls and best practices
      » N+1 Queries Problem + many solutions
      » Improving the performance of paginated queries
      » The Driving Query technique
      » Tuning JPQL and SQL – practical hints
      » Five Ways to write Dynamic JPA Queries: +=, criteria, metamodel, specifications, and QueryDSL
  • Chapter 2: Designing a Clean, Performant Entity model
      » Primitive links vs JPA links
      » Persisting enums via Hibernate type mappers
      » Bidirectional JPA Links – best practices
      » Rich Deep Modeling using @Embeddables, ElementCollections, and safe-guarding entities
      » Advanced mapping: @MapsId, Composite PKs
      » List<> vs Set<> of Children; implementing hashCode on Entities
  • Chapter 3: Efficient Transactions
      » Spring @Transactional: mechanics, propagation, error handling, after commit hooks
      » Auto-flushing: embrace or reject?
      » How to detect and avoid Connection Starvation issues
      » Tuning Transaction size and isolation
  • Chapter 4: Batch Inserting
      » Generating Primary Keys efficiently
      » Batching inserts
      » High-performance Spring Batch jobs – hands-on
  • Chapter 5: Caching
      » Using first-level Cache as a Read-Write Cache
      » Tuning Second-level Cache for Entities and Queries
      » Spring’s @Cacheable
  • Chapter 6: Working with Large Files
      » Lazy OneToOne
      » Lazy attributes
      » Streaming Clobs/Blobs
      » Cleaning up after commit
  • Chapter 7: Updating Entities
      » Mastering merge() operator
      » Concurrency Control using optimistic and pessimistic locks
      » Bulk update JPQL queries - pitfalls

You can download the full program for this workshop at the following LINK.

* If you're interested in this program, please contact us at to find out more about availability and prices.