This chapter served as the fundamentals of database connectivity with Java. We learned concepts such as JDBC drivers (that allow applications to connect to specific relational database engines) and connection pools (to better use connection resources). We learned how to use a ContextServletListener to initialize connection pools or database-related services. We saw an example of a simple domain model, and how repository classes allow us to encapsulate access to data represented in this model.
In the next chapter, we are going to learn about several persistence technologies, and how to integrate them with the Vaadin Framework.