iberck
11/5/2015 - 7:37 PM

Hibernate Proxy

Hibernate Proxy

¿Qué es un proxy?

Es una clase generada en tiempo de ejecución y extiende de la entidad original, hibernate utiliza proxies de las clases para manejar el lazy loading.

Hibernate proxies en Grails

Para que hibernate pueda ofrecer lazy-loading de propiedades, crea clases proxy las cuales son subclases de la clase original. Por lo tanto, una colección en ocasiones podrás verla como un HashSet y a veces la misma propiedad tendrá el tipo PersistentSet.

Cuando se hace un query para obtener los books del author, retornará un proxy de acuerdo al tipo de colección original:

Set -> PersistentSet

SortedSet -> PersistentSortedSet

List -> PersistentList