max wrote:
commons-lang is mainly used because of NestableException.
So, it is very likely we would make a NestableException in hibernate and just let go of commons-lang. (patches are welcome ;)
<rant>Nested exceptions have been introduced to J2SE way too late. They should at least have been in 1.3, then we wouldn't have all those problems... We would simply use standard exception nesting like now in J2SE-1.4-only apps.</rant>
More constructively speaking: We have introduced NestedRuntimeException and NestedCheckedException classes in Spring for exactly the same reason. We don't want to depend on commons-lang for such a minimal issue, and we don't want to make it hard for users to use the commons-lang release of their choice.
So I highly recommend that you use your own nestable exception base class to avoid unnecessary dependencies. BTW, I see that you also depend on commons-lang's ObjectUtils.equals; but that should be trivial to reimplement too.
You could also reconsider using commons-collections, it's quite large at 162 KB... As far as I see, you're just using SequencedHashMap and ReferenceMap. On the other hand, reinventing the wheel doesn't make much sense either. It's hard to decide, I guess.
Juergen