But isn't a "private transient " something different as a @Transient annotated field? What scenario can't you use transient for? If you have to manually serialize the class and have to serialize the cityAsString field with it, you cannot mark is as "private transient cityAsString = null;" I supose. But if you mark it @Transient, are there still any problems?