few people mention this, don't know why but it is huge. ORM's are a computational vietnam.
it troubles my mind, how come so many good programmers don't have this notion and ORM's are actually very well seen. the relational model has its own way of working, its mindset, its optimizations. the object model works in a different way, its implementations have an higher sofistication for each data unit that knows all about itself and considers less fast searches as you can do with relational databases and its simpler way of storing things allows. the result of using an ORM is having a complex translation process from objects to SQL, then you get a second major loss because the generated is very bad, very generic, not specific. then, you a third major loss when you have to translate the resulset from SQL to objects again. many times, reality is much worse. if you make things like dog.getName() == cat.getName() the ORM will make select * from dog select * from cat put everything in memory and then make the search in memory. having an extremely optimizes relational database is probably worst than having simple files with pickles, really.. bottom line, you want to store objects and make queries over them, use object oriented databases. they exist, not by chance.. you have db4o in Java, ZODB in python. else if you want relational databases, use their language SQL or the smallest abstraction possible. On Jan 26, 3:50 pm, Martín Mulone <[email protected]> wrote: > 2011/1/26 Massimo Di Pierro <[email protected]> > > The DAL tries to be as close as possible to SQL. The ORM > > > tries to stay as close possible to an Object model. To me that is > > trying to put a circle into a square. When it fits great, some times > > it does not fit. > > > Massimo > > Quote of the day!. > > -- > Pablo Martín Mulone ([email protected])http://www.tecnodoc.com.ar/ > Paraná, Entre Ríos, Argentina (CP 3100). > > My blog:http://martin.tecnodoc.com.ar > Expert4Solution Profile:http://www.experts4solutions.com/e4s/default/expert/6

