The cost of conversion for Hibernate/Dozer in GXT
FWIW I have been doing some performance testing using different persistence frameworks with GXT and have come to the conclusion that the conversion of persisted objects to DTOs (and back) can take a take a real hit on your application.
I found if I turn lazy loading off on Ibatis I can map the results directly into BaseModel beans (No conversion necessary). Getting to the same place with Hibernate's JPA implementation took from twice to nearly 5x as much time. (Depending if I was converting single objects or lists of objects). The Hibernate implementation was abit faster than Ibatis for just returning Java results, but the hit they took in Dozer was quite costly. Also caching in Hibernate was impacted because the cached objects still had to go through Dozer.
I haven't tried Gilead yet. Anyone with similar experience?
From an ease of use standpoing, I find Gilead to be really good. I'm currently using Gilead + Gwittir Introspection to handle the model objects. While the ease of use is there, I find the performance to degrade VERY quickly when you start using complex objects, more than two levels deep.
At this point, I really think I'm just going to go back to old fashion hand-coded DAOs. Hiberate just sucks when you've got such a high cost on the Serialzation end.