Annotation Type DocumentId
Annotation used to mark a POJO property to be automatically populated with the document's ID when
the POJO is created from a Cloud Firestore document (for example, via
DocumentSnapshot.toObject(java.lang.Class<T>)).
Any of the following will throw a runtime exception:
- This annotation is applied to a property of a type other than String or
DocumentReference. - This annotation is applied to a property that is not writable (for example, a Java Bean getter without a backing field).
- This annotation is applied to a property with a name that conflicts with a read document
field. For example, if a POJO has a field `firstName` annotated by @DocumentId, and there
is a property from the document named `firstName` as well, an exception is thrown when you
try to read the document into the POJO via
DocumentSnapshot.toObject(java.lang.Class<T>)orDocumentReference.get().
When using a POJO to write to a document (via DocumentReference.set(java.util.Map<java.lang.String, java.lang.Object>) or @UpdateBuilder.set(com.google.cloud.firestore.DocumentReference, java.util.Map<java.lang.String, java.lang.Object>)), the property annotated by @DocumentId is ignored, which allows writing the POJO
back to any document, even if it's not the origin of the POJO.