Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm currently evaluating Hibernate Envers 3.6.2.Final; an auditing module part of Hibernate.

As far as I am in my evaluation, I feel a little disappointed by Envers. I would expect much more from it :

  1. More clear documentation

    • The documentation is sparse or unclear; lack of small drawings in the document
  2. More activity from the community

    • I have waited two days for having an answer from... the creator on the forum. Is he a busy man or there is nearly no people out there?
  3. Much powerful and flexible API

    • Querying the historical data is painful. I have to rely on direct SQL to achieve a simple "select field, count(id) from table_aud group by field"

Do you know any equivalent or do you want to share your thougths with me ?

share|improve this question
What is your question? If it is "just tell me your thoughts" then this question is far too vague. Please read the site's FAQ and guidelines to asking questions. When you do you'll find that you should come back edit this question to ask something specific. – Walter Apr 1 '11 at 11:46
Dang, he edited the question while I was writing my answer. Now it doesn't apply. Oh well, I'll leave it there anyways. I think a little understanding of how Open Source works will help Stephan's expectations a bit. – Berin Loritsch Apr 1 '11 at 12:00
@Berin Sorry, i had to arrange my post for meeting the FAQ "rules" (Walter). – Stephan Apr 1 '11 at 12:09
up vote 2 down vote accepted

I'll answer your question a bit more generically, since I haven't used Envers but have used Hibernate. Open source software is a mash of great technologies, communities, etc or mediocre ones. Even under a larger umbrella project like Hibernate, the individual sub-projects vary.

If the community behind the Envers project is in fact just the creator, then it doesn't matter how good the code is. The project's longevity is in danger, and it needs new sources of energy. If Envers satisfies a core need, but requires a bit of extra work for your situation, I would recommend volunteering to scratch that itch. That's how open source projects grow and work. The more people who do that, the more likely the project will survive without corporate sponsorship.

Documentation is hard to write. It requires a different skill set than writing software, and many engineers are ill equipped for that job. There's a number of issues going on:

  • English as a second language: Even if English is your first language, others reading the documentation learned English later in life. You have to take care to remove jargon and slang that just doesn't translate well.
  • Engineers know too much: When working with an editor, the very first thing he did was to get me to back up and fill the gaps in knowledge my readers would have. When you've been face deep in writing software, you tend to give too much attention to the problem areas and not enough to the stuff that just works. The problem is the stuff that just works is what newbies need just to get up to speed so they can appreciate the nuances of the detail you are bringing out.
  • Documentation takes time: More time is spent rewriting the documentation than it is drafting it out in the first place. If the Envers team is small, all you are going to get is the first cut. Otherwise the software would be even more lacking.

Bottom line: It's open source software. You have a choice, make it better or move on. It's quite rewarding to make it better. Some projects have a higher barrier of entry than others, but there's something about being able to say "You know feature X? I made that possible".

share|improve this answer
I had already considered the fact of helping the project by prodviding some features i can't find. But i need some more knowledge about the design choices and goals... the creator is a busy man and the documentation is sparsed etc. BTW, tks for your answer. – Stephan Apr 1 '11 at 12:12
I am really struggling to solve a simple 'revision column not updated' problem of an application that uses hibernate envers, but I have no answers yet (60+ views on, 20+ views on jboss hibernate community). So be careful when you decide to use that technology. It may not be so mature yet. If you don't believe be check this link(…) – skiabox May 30 '13 at 14:15

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.