In the middle of the 2004 S, I decided to start studying persistence in another field different from stored procedures or Code Smith Code generation. At that time, I was still confused about the surrounding ORM, Business Objects, and domain-driven design. I have my own datasets and stored procedures, and I also have code generation tools to make my development easier, and all my work is well done, but when I handle some complex systems and try to learn team knowledge from the team, I find the problem. Finally, I realized that the biggest problem was how I processed data: When I set up an application, the data was placed first, and the program placed second. This method is not suitable for building complex applications. In fact, this programming method has been abandoned in object-oriented design. I have no reason to let it process the data. Now it's hard for me to recall what made me focus on nhib.pdf-perhaps because of my passion for posting a blog post, I keep thinking. But for whatever reason, I made that decision. Four years later, I still do not regret the decision. At the same time, I am fully proud of my project. This decision has already rewarded me in many ways. Two special scenarios come to mind. The first is: in a very tight meeting with the customer, the customer's DBA strongly hopes that our system can support SQL Server. This is the customer's requirement, but our DBA thinks it is an interference to his work content. I don't like it at all. In his opinion, DB2 on AS/400 should be used by customers in this and next periods. During the meeting, I took out my notebook and found that ADO. NET also supports DB2, so I made some configuration for the program. I called the DBA testing database responsible for testing and the program ran up in 45 minutes. The final product still uses SQL Server, but this is the customer's choice, although not required for implementation. The second scenario is that we need to build a very complex HR management system shared by multiple customers. This system is based on the database imported from the original host, which is enough to crash a programmer. The number of data tables is very large (of course, 200 of them are employee tables). These tables vary with customers, at this database layer, a batch processing program is directly copied from the flat file. Developing applications based on such databases (which cannot be changed) is at least a challenge. We can build domain models that are completely unrelated to the database layer and map them to the databases of each customer. Although I can't say this is easy, we can encapsulate complicated things into the ing file and maintain it centrally by the system (only they can understand where the value is running ). In these two scenarios, I tried to obtain the greatest value from nhib.pdf. In the first scenario, it showed good and powerful functions to eliminate barriers to communication with customers. In the second scenario, we made the problem easier by an order of magnitude. Our team only needs to focus on uidesign and business problems, rather than solving persistence problems. I started using NHibernate0.4 or 0.5 and watched it all the way (and I am honored to be involved in it) from a simple part of Hibernate to a feature, public and independent individuals. Nhibbench 1.0 implements the same version as Hibernate2.1 and supports most application scenarios, but it is still a branch of the Java version. Until 1.2, we can see that more and more work not only makes nhib.pdf more friendly, but also adds many unique new attributes. NHibernate1.0 was a very good ORM framework at the time, but in retrospect, it is still quite rough in terms of functionality than 1.2 and 2.0. NHibernate1.2 adds support for generics, stored procedures, multiple queries, and write batching. 2.0 focus on the same features as Hibernate3.2, adding events and listeners, stateless sessions, connection and merge classes, and separate queries. Nhib.pdf will also provide support for Linq, which has been used in several projects and may be released in NHibernate2.1. Nhib.pdf can benefit from the growth of the Hibernate System and its satellite projects. I will mention nhib.pdf search, which can integrate your entity with the e.net search engine, and a nhib.pdf verification tool that provides you with a powerful verification framework. Nhib1_contrib contains many examples. However, the extensions of NHibernate and projects that surpass Java. The Rhino security project provides a fully nhib.pdf-based business security package. Several projects provide ing convenience through nhib.pdf, and a large user team shares problems and knowledge encountered in daily work. This rich development environment is not unexpected because nhib.pdf is a flexible and adaptable framework. When you understand how it works and how to use it, it will bring huge benefits to your project. However, flexibility and adaptability are costly. Many people find that the learning process of nhib.pdf is tortuous and I don't agree with it. But as a participant in this project, I don't really comment on this particular issue of nhib.pdf. When I started to get started with nhib.pdf, I got Hibernate in Action (Christian Beuer and Gavin King, 2004) and read every page carefully. My goal was not to remember the API, instead, we need to understand nhib.pdf-not only the API and if they are used in the solution, but also the design method and how nhib.pdf handles the problem. I am also glad that Hibernate in Action contains this information, and my colleagues also bring great value to me in understanding and using nhib.pdf. However, Hibernate in Action is a Java version, so I am happy to listen to (and read) this book. Nhibbench in Action not only changes the name of Hibernate in Action. This book completes the translation knowledge and the task of adjusting and extending this knowledge. I think this book is indispensable for anyone who wants to develop it based on nhib.pdf. It contains some special features not available in the Hibernate version of nhib.pdf and is certainly helpful to you. Oren eini, A.K. A. AYENDE RAHIEN
Since I was interested in software development, the most challenging and interesting thing to do is to solve the problem, from the business level to the technical level, I often spend a lot of time thinking about the best solution to the current problem. After I discovered the. NET Framework, I studied how to write business programs without writing them. I am quite impressed with how to load and store information to the database. I tested the popular DataSet method and the underlying API provided by ADO. NET. Although these APIs are very easy to build, they are not very flexible and inefficient, making people feel that something went wrong. If you have written countless Pipeline Code and SQL query statements, you will understand what I mean. Therefore, I did some research and found some ORM tools. Specifically, I am looking for a non-invasive ORM persistence implementation solution that supports relational databases. After testing several solutions, I chose nhib.pdf because it better meets the requirements. I remember when NHibernate0.4 was launched, I was pleasantly surprised by its stable performance and the basic functions I needed. In addition, it brings a great community for open-source developers. Being able to share my thoughts with others and meeting a group of programmers who are happy to help each other is a wonderful experience in my learning process. Finally, I used NHibernage 0.7 in my first commercial application. I have used it many times in other projects. I think I will continue using it in the coming year. When the Manning Publishing House finds out that I drink Tobin to write a book about nhib.pdf, we have written a tutorial to help others learn about nhib.pdf. Even so, writing a book is an amazing adjustment. We are learning to satisfy readers in a simple and easy-to-understand way. This is a good experience, so I would like to recommend everyone to try it out. Although JAVA developers have been using and writing ORM content for many years, this technology is still unfamiliar to. NET developers. This book not only explains how to use and expand nhib.pdf, but also explains its core logic. We hope this book can help and inspire this unsimple and essential technology. Pierre henri kuate: First of all, we would like to thank all core developers, contributors, and other team members who make nhib.pdf a level-1 Open Source Tool. At the same time, we would like to thank those who have made Hibernate so successful. Thanks to Jim Bolla, Mike Doerfler, Paul Hatcher, Sergey ghost, Demetris Manikas, Fabio Maulo, Donald Mull, Bil Pierce, Dario Quintana, Ayende Rahien, Peter Jun, Michael Third, Kailuo Wang, kevin Williams and other contributors to NHibernate. Like other books, it takes a lot of time, effort, and patience to publish this book. We are grateful to Manning's colleagues for their excellent professional skills and skills. They constantly strive to choose the content of books and move the author's best things to the book. In particular, I would like to thank the publisher Marjan Bace for his Special edit of Mike Stephen and Tiffany Taylor, Katie Tennant, and Megan Yockey for their valuable comments, guidance, and feedback. Thanks to our development editors Frank Blackwebll, Jackie Carter and Cynthia Kanne for their patience in writing this book. Our proofreaders gave us professional suggestions on the content when we were about to publish the paper. We are very grateful to Ayende Rahien for reviewing the manuscript and preparing a wonderful sequence for us. I would also like to thank Mark Monster for his questions and suggestions on the final manuscript. The following technical proofreaders took the time to read the manuscript from different directions during their busy work and provided a lot of valuable feedback to improve this book: Sergey Koshcheyev, john Tobler, Dan Hounshell, Alessandro Gallo, Robi Sen, Paul Wilson, Pete Helgren, Oren Eini, Doug Warren, Jim Geurts, Riccardo Audano, and Armand du Plessis. Before publishing this book, many friends bought the PDF version of the book through MEAP. We are very grateful for their comments, support and suggestions through this project, especially Adam Cooper, Darren Maidlow, Morten merrent, Magnus Salgo, Benjamin VanEvery, Jan Van Ryswyck, Fabio Maulo, paul Anderson, Damon Wilder Carr, Jon Courtrille, Jim Beveridge, Daren Fox, David Gadd, Jason Whitehorn, Gary Murchison, Muhammad Shehabeddeen, and Thomas Koch. pierre henri kuaté would like to thank his family for their constant support and encouragement from his friends at the Polelo Institute. Tobin harris would like to thank his girlfriend Georgina Reall for her support throughout the project, encouragement and patience. He would also like to thank his sister Marnie for her help and endless enthusiasm. With the great work of Mike Doerfler and Sergei Koshcheyev, the book's nhibcher project was launched by Paul Hatcher in 2003, making nhibcher a mature and stable product, which is favored by many. net developers. Nhib.pdf was originally a branch of the Hibernate project. At that time, The ORM framework had become popular in the Java field for many years. One important reason why Hibernate is popular is that most Java developers are used to a large number of Hibernate books. In fact, I have counted at least 15 books to simply introduce this tool. In addition, books related to Hibernate are still emerging. However, till now,. net developers do not have that much learning about nhib.pdf. This book aims to solve this problem-we finally wrote this book, just nhib.pdf, for. net developers. Nhibbench in Action is based on the best-selling Java version of Hibernate in Action. This book is far more than just a translation. In fact, it contains API changes, code changes, new functions, and their commonalities. I hope the publication of this book will be a good time .. The NET community will be pleasantly surprised by the ORM framework. We hope this book will help you discover, learn, and enjoy this mature and powerful ORM framework. Who can read this book is suitable for development engineers or architects who use. net, whether they are new to NHibernate and ORM or have experience in this area, they can gain great value. For those who are new to nhib.pdf, reading this book does not require additional preparation knowledge. We even hope you have no experience using the ORM framework before. The knowledge of this book can bring you ideas about NHibernate and help you start to build a NHibernate solution. We also hope that our friends who have read this book are already using this project, whether it's using nhib.pdf itself or class libraries such as Castle Active Record or Spring. NET. This book will help you learn more about the core of nhib.pdf. It will also help you better use nhib.pdf for functions and more complete use of its functions. We will do our best to tell you some of the frequently-used or infrequently-used features behind nhib.pdf. We have mentioned most of the content in our blogs and forums, such as persistence lifecycles and some other external ing functions. In short, whether you are a newbie or veteran of NHibernate, we hope that this book will teach you new functions, so that you can experience the joy and success of the tool.