I saw NHibernate two days ago, but I haven't tried it. I don't know how it is done. I just heard that Hibernate in Java is a dynamic code, that is, in the first construction. When the object is, some code has been added to the instance, and it has achieved efficiency and writing the same (my understanding doesn't know right). I don't know if NHibernate is not binding to the object by reflection. I think if it is reflected, it is very advantageous in the debug stage, and it must be updated to be updated. And I think if you use dynamic code, you should not change the mapping file after running. It is necessary to run us in the actual program, and the mapping file should not be modified once it is released!