6. Flow Managed Persistence

6.1. Introduction

Most applications access data in some way. Many modify data shared by multiple users and therefore require transactional data access properties. They often transform relational data sets into domain objects to support application processing. Web Flow offers "flow managed persistence" where a flow can create, commit, and close a object persistence context for you. Web Flow integrates both Hibernate and JPA object persistence technologies.

Apart from flow-managed persistence, there is the pattern of fully encapsulating PersistenceContext management within the service layer of your application. In that case, the web layer does not get involved with persistence, instead it works entirely with detached objects that are passed to and returned by your service layer. This chapter will focus on the flow-managed persistence, exploring how and when to use this feature.