Friday, 6 January 2017

Review of High-Performance Java Persistence by Vlad Mihalcea


A structured and clear read into Hibernate, JDBC and JOOQ. Plenty of useful tips and common pitfalls that will help you improve the performance of your data access. Heavily focused on relational models, so don't expect much on other types of data stores. Lots of examples to clarify points of discussion.

Why should you read it

If you are a java developer and have to deal with persistence, you probably have come across Hibernate and JPA. Unfortunately, writing a highly performant data access layer is difficult to get right. Similarly, bad data access patterns are difficult to tease out from an application once they have been implemented. This book describes some intricate details of JDBC, Hibernate and lightly covers JOOQ with the aim of high performance.

Useful topics

  • What actually gets executed when you use @OneToMany, @OneToOne, @ManyToOne, @ManyToMany
  • Which Identifier strategy should you use for your primary keys
  • How you should fetch entities from the Database and when
  • Statement batching and reordering
  • The various caches available, how they work and their problems
  • Consistency vs Performance with locking


I would highly recommend this book, whether you are new to the topic or have a fair understanding of Hibernate. I plan on using this as a desk reference for any future project.

Get it here,


  1. Thanks for reviewing my book, Mike. I'm glad you found it useful.

  2. I have read your blog its very attractive and impressive. I like it your blog.

    Java Training in Chennai

  3. Nice Info Regarding high Performance Java Persistence my sincere thanks for sharing this post Please Continue to share this kind of post
    Java Training in Chennai

  4. really nice blog has been shared by you. before i read this blog i didn't have any knowledge about this but now i got some keep on sharing such kind of an interesting blogs.
    java training in chennai

  5. Hi admin..
    Really your post is very nice.It help to all the user to update their knowledge.Thanks for sharing.keep sharing more blogs.
    Anybody want to learn Core Java Online Training

    Core Java Online Training

  6. very nice blog.YOU should clearly explain the different between blog and website.Thanks for sharing.keep sharing more blogs.If anybody want to build your website.

    White Label Website Builder

  7. As I've seen by the git link you'd shared above, they have really updated mOS API alongside with Windows' one. I'm not into these things much, but I'd tried to run thing under Windows 10 just in order to take a look at things, how it seems to work here and there. To be frank, I'm new to Java (new-new at all, just 2 months have been passed since the very beginning) and had zero practice before, just was swotting all the fundamentals in order to learn java here, because there everything is explained in pretty simple language, what suit well to me as to guy with no programming background at all. Now I've this SDK of yours installed just to get used to how it looks and works, but I see it's going to be not that easy :)