There have been a lot of advances in data access patterns / strategies in the last few years (particularly O/R mapping, ODBMS). These have major benefits in terms of abstracting underlying data schemas by a data mapping layer, providing you with working data caches, generally optimizing SQL for you, giving advanced fetching strategies like lazy loading / association mappings, allowing you to map to other databases during development, etc.

However, I'm working on a project using an ERP system that is basically a complex Oracle schema with PL/SQL packages to access information, views constructed out of the PL/SQL packages, relational tables structured without any design towards object concepts like inheritance/polymorphism, etc. Objects don't map nicely to the schema, and updates to certain fields may need to call PL/SQL methods, perform additional updates, etc. in order to properly update the ERP.

While I think it's technically possible to map an object model to a complex ERP schema, it would take a lot of custom mapping. I'm wondering if anyone has had experience trying to apply modern data access strategies to an ERP application? Some ERP vendors provide an object model / data mapping layer themselves, but others (and the one I'm using) does not.

This topic doesn't get much coverage, but I'm guessing it's common in many applications. Are there any best practices for data access to an ERP application like this?