seguridad de primavera: ¿Por qué no podemos acceder a los parámetros de entidad de Hibernate en @PreAuthorize?

Tengo el siguiente método de interfaz en el que estoy aplicando@PreAuthorize:

@PreAuthorize("doSomething(#user.id)")
void something(User user, List<User> accessList);

dóndeUser es unEntidad de hibernación objeto. Me da un error :

org.springframework.expression.spel.SpelEvaluationException: EL1007E: (pos 13): El campo o propiedad 'id' no se puede encontrar en nulo en org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty (PropertyOrFieldReference.java:204)

No hay manera de que eluser el parámetro es nulo, como si quito la anotación e inspeccione el valor de usuario en el método que implementa este método de interfaz, hay un valor válido.User objeto presente allí. Además, justo antes de llamar a este método, me he asegurado de que el objeto de usuario se construya correctamente.

Realmente no puedo entender por qué lo haríauser campo será considerado nulo por el analizador SPEL

Respuestas a la pregunta(4)

Su respuesta a la pregunta