We have arrived at a state with Hibernate 4 where we can change the database behind the system to go for production usage (so H2 databases are out of the question).
Now it is time to look at connection pooling, because the default connection pooling mechanism of Hibernate is rudimentary and is provided only for development and testing usage.Read More
Most of the time it is OK to simply let the database do the work of concurrency control, however sometimes you can encounter an application where you need to take over. In this article I will give a brief introduction to optimistic and pessimistic concurrency control.Read More
If you have a bigger application you think about performance and how you can improve it. Caching is one way to do this because it enables fewer queries going to the database. Querying the database is always a performance impact because it is an I/O operation. And I/O operations are much slower than operations using only the applications memory.Read More
Last time I introduced annotations instead XML configuration. Now I will dig deeper and show how you can create entity relations and map them to the database.
If you look at the Book entity in the example you might think: "Why store the authors of a book as a String?" and you are right. This makes querying for books by authors almost impossible -- or at least not as performant as it could be. And a typo between two entries can make it even worse.Read More
In the previous articles I have shown you how to get started with Hibernate 4: create entities, manage relations and inheritance and how to query the stored data.
However every time I used an in-memory database which means that every time you stop the application the inserted data vanishes.Read More