Derecho de Kaleb: si alguna consulta devuelve un valor nulo para "habilitado" (en este caso), entonces tiene que usar el objeto en lugar de la primitiva.
Esto es de la FAQ Hibernate:
A PropertyAccessException a menudo se produce cuando el objeto que se pasa al método setter es del tipo equivocado. Verifique las asignaciones de tipo para la propiedad ofensiva. (Para ver exactamente qué propiedad era el problema, es posible que deba desactivar el optimizador de reflexión CGLIB). Sin embargo, la causa más común de este problema es que Hibernate intentó asignar null a una propiedad de tipo primitivo.
Si su objeto tiene una propiedad de tipo primitivo mapeada a una columna de base de datos nullable, necesitará usar un tipo personalizado de Hibernate para asignar un valor predeterminado (primitivo) para el caso de un valor de columna nulo. Una mejor solución suele ser utilizar un tipo de envoltorio para la propiedad Java.
https://www.hibernate.org/116.html
Gracias, me quedaré con el tipo de datos java para evitar el manejo especial de nulos – Sam