My Review of Vlad Mihalcea’s High-Performance Java Persistence book

In Java world, JPA/Hibernate is the most popular and widely used framework. When it comes to overall performance of a software system database persistence layer plays the crucial role. The tricky part with JPA/Hibernate is it is very easy to get started but very very hard to master. This is where Vlad Mihalcea’s High-Performance Java Persistence book helps you a lot.

PrimeFaces Beginner’s Guide book published

I am glad to announce that my second book PrimeFaces Beginner’s Guide is published.

As many of us know PrimeFaces is leading JSF component library for JSF based web applications. This PrimeFaces Beginner’s Guide book targets the Java developers with basic knowledge on JSF and jQuery and covers most of the commonly used PrimeFaces components.

Good news is that PrimeFaces Beginner’s Guide book covers the latest PrimeFaces 4.0 version features such as Client Side Validations (CSV) framework: Dialog Framework, Search Expressions, Sticky Component and many other enhancement as well.

Packt Publishing “Java Persistence With MyBatis3” published

Hurray…My first book Java Persistence with MyBatis3 is published. I would like to thank Packt Publishers for giving me this opportunity to write on my favorite framework MyBatis.

For most of the software applications data persistence is a key and important aspect. In Java land we have many ways of implementing persistence layer starting from low level JDBC to fancy ORM frameworks.
JDBC is too low level API and needs to write a lot of boilerplate code. On the other hand we have full fledged ORM frameworks like JPA(Hibernate, EclipseLink etc) which hides the complexity of working with SQL directly by letting developers work with Objects and generate SQL based on the RDBMS(Dialect) being used. But each approach has its own set of pros and cons, there is no one size fits all solutions. There are many large applications that are using Hibernate successfully and there are many other applications which got screwed up by using Hibernate/JPA incorrectly. It is not the problem with JPA/Hibernate, it is simply because JPA/Hibernate may not be best fit for those applications or developers don’t understood them properly.