Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Agile forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Spring Persistence with Hibernate : about the Hibernate content

 
Christophe Verré
Sheriff
Posts: 14691
16
Eclipse IDE Ubuntu VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I guess that the book is mainly focused on Spring Persistence, more than Hibernate itself (isn't it ?). How advanced is the Hibernate content ? Can you introduce some of the advanced features you are discussing in the book ?
 
Paul Fisher
author
Greenhorn
Posts: 23
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Christopher,

While our book is a bit more focused on the Spring framework, I think it's fair to say that we do include extensive coverage of Hibernate — especially related to advanced features required for production scenarios. For instance, we examine performance and optimization techniques for Hibernate, such as how to best avoid the common N+1 selects issue. We also examine caching strategies, illustrating a few approaches for tuning your caching strategy, as well as the pros and cons of query caching (some find it surprising that query caching can actually degrade performance!). Finally, we look at the benefits of a clustered caching strategy.

Another area that we cover that I feel is not discussed enough is handling concurrency in a Spring Hibernate application. Many people are not familiar with the different locking strategies, and when to use pessimistic vs optimistic locking (and what these strategies actually entail). We also discuss some of the Hibernate events, and how to use them in your application.

A big theme of the book is applying design patterns and best practices, and to that end, we discuss approaches for building an effective DAO and Service layer, and how to apply transactions declaratively. Of course, we include Hibernate querying strategies and domain modeling/mapping approaches throughout the book as well.

Anyway, I hope this helps to answer your question! Please let me know if you have any questions.

Thanks,

Paul

Paul Tepper Fisher
 
Christophe Verré
Sheriff
Posts: 14691
16
Eclipse IDE Ubuntu VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Paul Fisher wrote:Anyway, I hope this helps to answer your question!

It does ! Thank you. It looks like there is quite some advanced topics. This all sounds very interesting.
 
Gian Franco
blacksmith
Ranch Hand
Posts: 979
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Paul,

...regarding optimisation and caching and other advanced topics
Christophe was asking about too. This is actually an issue I've
been confronted with in more than one project...

How would you tackle these things in a preventive fashion,
would you like have monitoring on your apps or unit tests
checking the degradation of performance?

Regards,

Gian
 
Christophe Verré
Sheriff
Posts: 14691
16
Eclipse IDE Ubuntu VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Gian wrote:Christofer was asking about too.

Congratulations, that's one of the worst version of my name I've ever seen (I'm joking)
 
Gian Franco
blacksmith
Ranch Hand
Posts: 979
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
...oops, sorry

I've refactored it...

Gian
 
Ankit Garg
Sheriff
Posts: 9509
22
Android Google Web Toolkit Hibernate IntelliJ IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Christofer

In the beginning I also used to read the name Christopher till I looked very closely ...
 
Brian Murphy
Author
Greenhorn
Posts: 8
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hey Gian,

There are a lot of tools you can use to ward off performance problems before it's too late, both open source and commercial. If you're already using continuous integration, one great approach is to bolt JMeter into the process so that you exercise your application with enough load to simulate production use. You can then pay attention to the trends of your performance runs over time with each new build.

Here's an example of Atlassian's Bamboo integration - https://studio.plugins.atlassian.com/wiki/display/JMETAGG/Bamboo+JMeter+Aggregator+Plugin

Cheers,

Brian D. Murphy
@brimurph
 
Anil Vupputuri
Ranch Hand
Posts: 527
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Brian,

Does your book cover the following topics,

1) Event/Listener model (previously called as Interceptors)
2) Filters
3) Defining custom types (Composite User types)

Thanks.
 
Anil Vupputuri
Ranch Hand
Posts: 527
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
And also Inheritance mapping, do your book emphasize on polymorphic associations, verbose query statements and performance capabilities.

Thanks.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic