I've done a lot of analysis on the data access layer, but just haven't had time 
to put together a discuss/recommendation.  In the end I'd propose we move to 
jOOQ.  It's an excellent framework that will be very natural to the style of 
data access that CloudStack uses and we can slowly migrate to it.  I've hacked 
up some code and proven that I can get the two frameworks to seamlessly 
interoperate.  So you can select from a custom DAO and commit with jOOQ or vice 
versa.  Additionally jOOQ will work with the existing pojos we have today.  

Check out jOOQ and let me know what you think of it.  I know for most people 
the immediate thought would be to move to JPA, but the way we managed "session" 
is completely incompatible with JPA and will require constant merging.  
Additionally mixing our custom DAO framework with a JPA solution looks darn 
near impossible. 

Darren

> On Nov 11, 2013, at 8:33 PM, Laszlo Hornyak <laszlo.horn...@gmail.com> wrote:
> 
> Hi,
> 
> What are the general directions with the persistence system?
> What I know about it is:
> - It works with JPA (javax.persistence) annotations
> - But rather than integrating a general JPA implementation such us
> hibernate, eclipselink or OpenJPA it uses its own query generator and DAO
> classes to generate SQL statements.
> 
> Questions:
> - Are you planing to use JPA? What is the motivation behind the custom DAO
> system?
> - There are some capabilities in the DAO system that are not used. Should
> these capabilities be maintained or is it ok to remove the support for
> unused features in small steps?
> 
> -- 
> 
> EOF

Reply via email to