Hades 0.2 is out


Today we officially released version 0.2 of Hades, a domain class and DAO development library based on JPA and Spring. Hades is mainly based on an idea provided by Eberhard Wolff in Java Magazin. Hades feature list reads as follows:

  • Implementation of CRUD methods for JPA Entities
  • Transparent triggering of JPA NamedQueries by finder methods
  • Dynamic query generation from finder method names
  • Implementation domain base classes providing basic properties
  • Support for transparent auditioning (created, last changed)
  • Easy Spring integration with custom namespace

Version 0.2 mainly brings minor enhancements and polishes. Since today we’re also listed at ohloh.net. So feel free to check out the documentation and play with it a little.

Further links:

Information and Links

Join the fray by commenting, tracking what others have to say, or linking to it from your blog.


Other Posts

Write a Comment

Take a moment to comment and tell us what you think. Some basic HTML is allowed for formatting.

Reader Comments

Congratulations! Can’t wait to check it out, especially the autiting support. We are using Eberhard’s framework at work and I hope I can integrate your auditing support.

Thanks David. Be sure to check out the domain.support package. I’ve been browsing through the reference documentation and have to admit, that it is definately written by someone who has already worked with it ;). I guess for you it’s much more feasible to check out the JavaDocs.

Don’t hesitate to make suggestions for improvements or get your hands on directly.

Hi David,

I checked out Hades and I like your coding style (and clean docs) though I’d like to add a few comments:
- using Spring’s Assert class binds even the entity base classes to Spring way too closely
- you could use String.format() in toString() methods as well
- AbstractPersistable’s getId/setId (especially the latter) being public by default exposes a bit too much (breaks OO encapsulation in certain cases)

Would you be interested in having Guice support as an option beside Spring? Also, recently I’ve been working on implementing the Active Record pattern and a typesafe criteria API on top of JPA, if you’re interested, drop me a line.

s/David/Olivier/, sorry, early morning :)

Hello Kristof,

thanks for sharing your thoughts on Hades.

Could you elaborate on where you found the Spring Assert in the domain package? I just took a quick glance and couldn’t find one. Normally I tend to only use Spring Asserts only in classes that have are intrinsically tied to Spring anyway.

Using String.format() is a good idea. I just filed this as a ticket: http://trac.synyx.org/hades/ticket/30

Your concern towards the setter is legitimate. I very often use it during mapping DTOs to domain objects and in test cases. But as the main purpose of AbstractPersistable is to free the developer from standard JPA Id declaration, we could leave the decision how to expose the id to the domain class developer. I’ll try to remove the setter in the trunk to see how it feels.

Regards,
Ollie

PS: I’d like to take a glance at your criteria API stuff. If I knew how to contact you, I definately would.

Hi Oliver,

I filled my email address at the email field of the ‘write a comment’ box (but I also spent some considerable amount of time to find out yours with no success ;) My mail is [removed to ensure privacy] but we can have a quick chat on either google talk, msn or skype (message) as well.

I’ve seen the Spring Assert class in PageImpl..

cheers,
Kristof

Hades really looks interesting. Since there seems to be no support forum associated with the project, i’ll have to ask for help here. I’m using Spring 2.5.5+ and Eclipse 3.4.1 in my setup but i’m am encountering this infamous error:
“cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element ‘dao:dao-config’” and this warning: “Description
Unable to locate Spring NamespaceHandler for element ‘dao:dao-config’ of schema namespace ‘http://www.synyx.de/schema/dao’”.
I have tried Craig’s work around but with no success.

Hey Twice,

this is due to the XSD file currently not available online. We’re going to publish them under the URL declared in the XSD as soon as possible.

A workaround would be to either check out the sources from SVN or extract the XSD from the binary distribution and a custom entry to your Eclipse XML catalogue.

Please let me know, if you have trouble getting this working.

Regards,
Ollie

P.S.: A dedicated forum for our open source projects is on its way ;)