public MongoEntityPersister( MappingContext mappingContext, PersistentEntity entity, MongoSession mongoSession, ApplicationEventPublisher publisher) { super(mappingContext, entity, mongoSession, publisher); MongoDatastore datastore = (MongoDatastore) mongoSession.getDatastore(); mongoTemplate = datastore.getMongoTemplate(entity); collectionName = datastore.getCollectionName(entity); if (!(entity instanceof EmbeddedPersistentEntity)) { PersistentProperty identity = entity.getIdentity(); if (identity != null) { hasNumericalIdentifier = Long.class.isAssignableFrom(identity.getType()); hasStringIdentifier = String.class.isAssignableFrom(identity.getType()); } } }