Is C# 3.0 a copy of Hibernate?
When you look at the features (LINQ) Microsoft is adding to C# 3.0 you would say hey! wait a minute, that is a rip off of Hibernate. I think not. Why? because the main goal of Hibernate is to give you persistent storage and a very SQL like way of accessing the database. While that is what you can do in C# 3.0 the similarities stop right there. In LINQ you can query collections irrespective of where that collection came from. It may have come from the database or an XML file, flat file or any other source (Active directory, in memory collection created by you, anything). Hibernate, as it works with databases needs XML files for configuration. LINQ does not as it does not care about the source. The other big difference is that LINQ is baked right into the framework so you can be sure when it gets released that all built in classes (all meaning the ones that you think should) will support LINQ.
More later ... (after I get flamed for this post )