Showing posts with label orm. Show all posts
Showing posts with label orm. Show all posts

9/26/2012

NHibernate 3.0 Cookbook Review

NHibernate 3.0 Cookbook
Average Reviews:

(More customer reviews)
My first impressions are good - it starts out with creating a model and the usual XML-mapping stuff, and then it dives directly into modeling an inheritance hierarchy. I think this is pretty cool, because it is a sign that the book has a fairly high level of ambition: It is not just about stuffing away rows in the db, it's about persisting an actual model!
It covers Fluent NHibernate and Fabio's ConfORM as well, so it provides a really good foundation to anyone interested in learning the intricacies of configuring NHibernate. And it is pretty true to the model-first approach, which is how I like it.
Then it goes on with a chapter on how to manage sessions and transactions including - among other things - an example on how to manage the session from an ASP.NET MVC action filter (which is not "best practice" from an ASP.NET MVC perspective IMO, as it relies on static gateways, but I digress... the book is not about ASP.NET MVC :) )
The query chapter is great, because it covers everything I can think of: Criteria, QueryOver, HQL, both in their normal and multi forms, futures, LINQ to NHibernate, detached criteria, and the new HQL bulk operations, insert and update. If I must put my finger on something, I think that the different areas are covered a little too lightly, but hey - there's plenty of information on this stuff on the internet, and you could probably write an entire book entirely about how to put HQL to use.
The testing chapter is great as well, as it touches on nice-to-know stuff and some of "the new developments" in the area: NHibernate Profiler, Fluent NHibernate automatic persistence testing, using in-memory SQLite for persistence testing, + more.
The chapter on implementing a data access layer shows a typical data access object and a repository implementation which will probably look familiar to a lot of people, implemented with NHibernate. They both have the ability to automatically perform their operations withing transactions, if one is not already active. This makes the implementations pretty flexible, as they can be used either "by themselves", or they can implicitly enlist in an ongoing unit of work. Moreover, a pretty nifty named query implementation is shown, complete with automated test that checks whether all implemented named query classes have corresponding named queries in an HBM XML file.
The rest of the book shows how various common tasks can be achieved using NHibernate or some of the many NHContrib projects, like e.g. creating an audit trail by listening to events, creating an IUserType to encrypt strings, using Burrows to manage session, putting NHibernate Search to use, etc... As you can probably imagine, this stuff is covered pretty lightly, but it's sufficient to give an impression on the huge ecosystem that surrounds NHibernate, which is great.
Conclusion
It strikes me that the book is definitely a "no BS-book" - there's plenty of code, which is mostly high quality and sufficiently best practice-compliant, and recommendations throughout when there are decisions to be made. If I should criticize something, I think the sheer amount of code makes for an exhausting casual read it does, however, claim to be a "cookbook", so I guess that's just the way it is.
The book is probably great for developers, who are either new to or semi-experienced in using NHibernate, but have a general high level of experience and skills.
All-in-all a good read, and it's great that it touches on so many things in and around this huge framework!

Click Here to see more reviews about: NHibernate 3.0 Cookbook

This book contains quick-paced self-explanatory recipes organized in progressive skill levels and functional areas. Each recipe contains step-by-step instructions about everything necessary to execute a particular task. The book is designed so that you can read it from start to end or just open up any chapter and start following the recipes. In short this book is meant to be the ultimate "how-to" reference for NHibernate 3.0, covering every major feature of NHibernate for all experience levels. This book is written for NHibernate users at all levels of experience. Examples are written in C# and XML. Some basic knowledge of SQL is assumed.

Buy NowGet 14% OFF

Click here for more information about NHibernate 3.0 Cookbook

Read More...

11/28/2011

Information Modeling and Relational Databases, Second Edition (The Morgan Kaufmann Series in Data Management Systems) Review

Information Modeling and Relational Databases, Second Edition (The Morgan Kaufmann Series in Data Management Systems)
Average Reviews:

(More customer reviews)
Everyone needs this book. Read more to find out why:
If you intend to create genuinely useful business applications without first creating an accurate conceptual data model and deriving the database schema from the model, then I hope your projects have very large budgets and flexible deadlines, because you'll need both. Accurate conceptual data models are not an academic curiousity, they are a practical necessity. Well designed databases are the heart of every business application, and accurate conceptual data models are the foundation of every well designed database.
This book presents a method for data modeling called Object Role Modeling (ORM). If you've never created a data model before, you might as well learn the best method from the start. If you've used E-R (Entity Relationship) modeling before, this is your chance to learn a method that overcomes the limitations of E-R, while building on the knowledge you already have.
ORM is based on facts (assertions about the business sphere you are modeling), not entities and attributes. Business users understand facts much better than they understand data modeling abstractions. By using ORM facts, you create your data model in a language that business users can understand and validate. Poor communication with business users and inadequate understanding of requirements are major causes of design deficiencies. ORM solves these issues through its fact based approach.
ORM is also much more expressive than any other popular data modeling notation, ncluding UML and all major flavors of E-R. Many business rules should be expressed as data constraints, but traditional data modeling languages don't do well at capturing these constraints. By capturing the constraints in an ORM model and validating with the users, you make the construction of a good application much easier.
Halpin is an excellent writer, and this book is very easy to read. The many examples and crisp writing style mean that you'll actually understand what the author intends, a refreshing change from most computer books. If you've read the previous edition of this book, this update is very worthwhile. There is a lot of expanded and new material, and you'll be happy you purchased the new edition.

Click Here to see more reviews about: Information Modeling and Relational Databases, Second Edition (The Morgan Kaufmann Series in Data Management Systems)

Information Modeling and Relational Databases, second edition, provides an introduction to ORM (Object-Role Modeling)and much more. In fact, it is the only book to go beyond introductory coverage and provide all of the in-depth instruction you need to transform knowledge from domain experts into a sound database design. This book is intended for anyone with a stake in the accuracy and efficacy of databases: systems analysts, information modelers, database designers and administrators, and programmers. Terry Halpin, a pioneer in the development of ORM, blends conceptual information with practical instruction that will let you begin using ORM effectively as soon as possible. Supported by examples, exercises, and useful background information, his step-by-step approach teaches you to develop a natural-language-based ORM model, and then, where needed, abstract ER and UML models from it. This book will quickly make you proficient in the modeling technique that is proving vital to the development of accurate and efficient databases that best meet real business objectives. *Presents the most indepth coverage of Object-Role Modeling available anywhere, including a thorough update of the book for ORM2, as well as UML2 and E-R (Entity-Relationship) modeling. *Includes clear coverage of relational database concepts, and the latest developments in SQL and XML, including a new chapter on the impact of XML on information modeling, exchange and transformation. * New and improved case studies and exercises are provided for many topics. * The book's associated web site provides answers to exercises, appendices, advanced SQL queries, and links to downloadable ORM tools.

Buy NowGet 19% OFF

Click here for more information about Information Modeling and Relational Databases, Second Edition (The Morgan Kaufmann Series in Data Management Systems)

Read More...