You may use  clone() which works well if your object has immutable objects and/or primitives, but it may be a  little problematic when you don't have these ( such as collections ) for which you may need to perform a deep clone.
User userCopy = (User) user.clone();//make a copy
for(...) {
    user.age = 1;
    user.id = -1;
    UserDao.update(user)
    user = userCopy; 
}
It seems like you just want to preserve the attributes: age and id which are of type int so, why don't you give it a try and see if it works. 
For more complex scenarios you could create a "copy" method:
publc class User { 
    public static User copy( User other ) {
         User newUser = new User();
         newUser.age = other.age;
         newUser.id = other.id;
         //... etc. 
         return newUser;
    }
}
It should take you about 10 minutes. 
And then you can use that instead:
     User userCopy = User.copy( user ); //make a copy
     // etc. 
To read more about clone read this chapter in Joshua Bloch "Effective Java: Override clone judiciously"