In this chapter, we’ll analyze many different strategies for filtering data as it passes through the Hibernate engine. When Hibernate loads data from the database, we can transparently restrict the data seen by the application with a filter. When Hibernate stores data in the database, we can listen to the event and execute secondary routines: for example, we could write an audit log or assign a tenant identifier to a record.
In the four main sections of this chapter, we’ll explore the following data-filtering features and APIs: