A long time ago, in a land far far away, programmers used to write Data Access Layers by hand. Money was in abundant supply and programmers took days to write methods that abstracted away the tables and stored procedures and returned business objects. In those days, people scheduled weeks to write a proper DAL. And laptops had single core processors; Amazon S3 was a place where you could store data.
Now, all that is history. With the advancements in modern technology, quad-core processors are the norm and I host this site completely on Amazon S3. Money is no longer in abundant supply and businesses have become more and more demanding. Pushed to the brink by the recession, they demand more bang for their buck.
It used to take months to build a fully functioning YouTube clone, however, now, with superior advances in RAD tools based on C# and VB, one can make another YouTube clone in a couple of weeks complete with unit testing, 95% percent code coverage and fully extendible endpoints. With businesses wanting to stretch every development dollar as much as possible, it is imperative that programmers know how to compress time and use the productivity enhancements afforded by the superior ORM tools of today. Gone are the days of building an ER model, writing out the SQL manually for the database and then building a data access layer by hand. The modern business is not going to wait for programmers to sit and write their data access layer by hand. They want programmers to spend time on feature endpoints. They only want the things that add value to the business. A hand-written data access layer adds no value to anyone anymore.
Every new programmer who joined the .NET world in the last 1-3 years is probably extremely familiar with these wonderful labor saving devices. One does not write the data access layer by hand any more. Automated tools have taken the drudgery out of that activity. Linq to SQL, Nhibernate, Entity Framework are some tools that come to mind. Nhibernate is of course, based on hibernate which has seen long years of use in the Java world.