model stored in the session lost the the early join model

I have a user model and it has one user_state, I use
User.find(id,:include=>[:user_state]) to retrieve it, but when I store
this user object in session, and fetch it after another http request,
it seems when I use user.user_state, it retrieve the user_state from
database again, why and how to resolve this problem?