Northern Virginia Software Symposium
November 7 - 9, 2008 - Reston, VA
View the event details here ».
Chief Architect at Near Infinity
Scott is Chief Architect at Near Infinity Corporation, an enterprise software development and consulting services company based in Reston, Virginia. He has been developing enterprise and web applications for 14 years professionally, and has developed applications using Java, Ruby, Groovy, and even an iPhone application with Objective-C. His main areas of interest include alternative persistence technologies, object-oriented design, system architecture, testing, and frameworks like Spring, Hibernate, and Ruby on Rails. In addition, Scott enjoys learning new languages to make himself a better and more well-rounded developer a la The Pragmatic Programmers' advice to "learn one language per year."
Scott holds a B.S. in Engineering Science and Mechanics from Virginia Tech, and an M. Eng. in Systems Engineering from the University of Maryland. Scott speaks at the No Fluff Just Stuff Symposiums and various other conferences. In his (sparse) spare time, Scott enjoys spending time with his wife, three children, and cat. He also tries to find time to play soccer, go snowboarding, and mountain bike whenever he can.
This session introduces the Hibernate Object/Relational Mapping (ORM) framework, showing the basics of persisting Java objects to relational databases. No prior knowledge of Hibernate or ORM is assumed.
Persistence is a key element of most applications, whether web or desktop. Relational databases are the defacto standard for enterprise data storage and object-oriented (OO) programming, for example in Java, is the predominant technique to build applications today. Relational databases and OO, however, are completely different paradigms. Object/Relational Mapping (ORM) seeks to bridge this gap to allow easy persistence of objects to relational databases. Hibernate is a leading ORM framework providing persistence of Java objects to relational databases. This session introduces Hibernate and covers ORM alternatives available today; getting started with Hibernate; mapping objects to database structures; interacting with Hibernate APIs to find and persist objects; transactions; and finally, architectural considerations and suggestions for integrating Hibernate into applications.
Hibernate is a very powerful object/relational mapping framework. With the vast amount of power also comes the responsibility to choose which features of Hibernate to use and how to use them, as well as things to avoid. We'll look at some real world Hibernate tips and tricks in this session.
Hibernate is one of the most popular and successful object/relational frameworks available today. In this session we'll look at some real world tips for using Hibernate effectively. Topics we'll cover include: logging and debugging Hibernate-generated SQL; using annotation mappings, ImprovedNamingStrategy, and MappedSuperclass; understanding lazy-loading and the n+1 problem; basics of performance tuning Hibernate applications; using inheritance in your domain model; managing sessions; effective use of the second-level cache; validation using Hibernate Validator; and when not to use Hibernate in an application.