Acá te hablaré más de un concepto viejo que se usa mucho que es el Mapeo objeto-relacional:
http://es.wikipedia.org/wiki/Mapeo_objeto-relacional
Esto separá la lógica de negocio para que el programa no dependa de una base de datos sino de objetos, lee el link de arriba.
Yo en lo personal uso 2 librerias muy buenas que son ibatis y NHibernate:
IBATIS
http://ibatis.apache.org/
Ejemplo de uso:
http://opensource.atlassian.com/conf...ck+Start+Guide
NHIBERNATE
https://www.hibernate.org/343.html
Ejemplo de uso:
https://www.hibernate.org/hib_docs/n...ickstart-intro
En mi caso como se trabaja con Arquitectos, Desarrolladores y Encargado de Base de datos cada uno tiene su funcionalidad y el programa se basa 100% en orientación a objeto lo que nos lleva al uso de esta tecnología para que los de base de datos nos faciliten las cosas.
Saludos,