Northern Virginia Software Symposium
November 2 - 4, 2007 - Reston, VA
Scott Leberknight
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.
Presentations
Introduction to Hibernate
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.
Spring, Hibernate, and JDBC Integration Patterns
Spring's Hibernate integration simplifies applications that use Hibernate by removing tedious and repetitive infrastructure code that you need to write. Spring JDBC achieves a similiar simplification for executing SQL statements using the lower level JDBC API. So when do you use one or the other, and what are the important usage guidelines? Come to this session to find out.
In this session you will learn best practices and tradeoffs when using Hibernate with Spring. We will consider Hibernate session factory configuration, DAO and business service implementation, declarative transaction management, unit and integration testing, and dealing with Hibernate lazy-loading.
In addition, you will learn how to combine use of Hibernate with use of JDBC in the same application and the cases for when that is appropriate.


