[Engine-devel] Move SQL out of stored procedures

Martin Perina mperina at redhat.com
Wed Mar 27 05:59:00 UTC 2013


Hello,

according to my experiences Hibernate/JPA is the best solution for application
which has to support multiple databases. Even when I was part of the team who
migrated application with business login written in Oracle PL/SQL procedures
to JBoss using Hibernate (application ran only on Oracle), it became much easier
to maintain this applications and also customer was pleased that application
ran much better.

Now imagine the scenario, that for example Postgresql, MySQL, Oracle and MS SQL would be
supported. I you need to change some stored procedure you should do this on 4 places using
4 different database dialects.

Like any other technologies, Hibernate/JPA has some drawbacks, but when it's used properly
and database objects are redesigned to fit Hibernate and portability needs, it works fine.



Martin Perina


----- Original Message -----
> From: "Alon Bar-Lev" <alonbl at redhat.com>
> To: "Juan Hernandez" <jhernand at redhat.com>
> Cc: engine-devel at ovirt.org
> Sent: Tuesday, March 26, 2013 7:39:16 PM
> Subject: Re: [Engine-devel] Move SQL out of stored procedures
> 
> 
> 
> ----- Original Message -----
> > From: "Juan Hernandez" <jhernand at redhat.com>
> > To: engine-devel at ovirt.org
> > Sent: Tuesday, March 26, 2013 7:34:04 PM
> > Subject: [Engine-devel] Move SQL out of stored procedures
> > 
> > Hello,
> > 
> > I would like to start a discussion about the subject. I think this
> > is
> > something we need to do if one day we want to be able to use any
> > database other than PostgreSQL.
> 
> Hello,
> 
> I think that database layer is a software interface like any other
> software interface, if done properly, a dba can convert the stored
> procedure to any other database without any code change.
> 
> This way the database specific implementation lives within the
> database and maintained by the designated dba.
> 
> Fixups and optimizations can be done in database without touching the
> code.
> 
> Backward compatibility layer is much simpler to implement based on
> stored procedures than complex set of views and tables.
> 
> Also, accessing the database via different technologies is simpler if
> there is maintained database interface (stored procedures).
> 
> I've seen hibernate based java applications that promised to be
> database independent but at the edges when performance counts, the
> DAO became HQL, then a special dialect and finally database specific
> SQLS.
> 
> Regards,
> Alon Bar-Lev.
> _______________________________________________
> Engine-devel mailing list
> Engine-devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/engine-devel
> 



More information about the Devel mailing list