diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java index 33bc89716..4dbd78d56 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MongoTemplate.java @@ -894,16 +894,8 @@ public class MongoTemplate implements MongoOperations, ApplicationContextAware { ConversionService service = mongoConverter.getConversionService(); Object idProperty = null; - try { - - idProperty = BeanWrapper.create(object, service).getProperty(idProp, Object.class, true); - return new Query(where(idProp.getFieldName()).is(idProperty)); - - } catch (IllegalAccessException e) { - throw new MappingException(e.getMessage(), e); - } catch (InvocationTargetException e) { - throw new MappingException(e.getMessage(), e); - } + idProperty = BeanWrapper.create(object, service).getProperty(idProp, Object.class, true); + return new Query(where(idProp.getFieldName()).is(idProperty)); } public void remove(Query query, Class entityClass) { diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java index 7547cdc62..0e9424db8 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java @@ -256,13 +256,7 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App } Object obj = getValueInternal(prop, dbo, spelCtx, prop.getSpelExpression()); - try { - wrapper.setProperty(prop, obj, useFieldAccessOnly); - } catch (IllegalAccessException e) { - throw new MappingException(e.getMessage(), e); - } catch (InvocationTargetException e) { - throw new MappingException(e.getMessage(), e); - } + wrapper.setProperty(prop, obj, useFieldAccessOnly); } }); @@ -362,27 +356,19 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App Object id = wrapper.getProperty(idProperty, Object.class, useFieldAccessOnly); dbo.put("_id", idMapper.convertId(id)); } catch (ConversionException ignored) { - } catch (IllegalAccessException e) { - throw new MappingException(e.getMessage(), e); - } catch (InvocationTargetException e) { - throw new MappingException(e.getMessage(), e); } } // Write the properties entity.doWithProperties(new PropertyHandler() { public void doWithPersistentProperty(MongoPersistentProperty prop) { + if (prop.equals(idProperty)) { return; } - Object propertyObj; - try { - propertyObj = wrapper.getProperty(prop, prop.getType(), useFieldAccessOnly); - } catch (IllegalAccessException e) { - throw new MappingException(e.getMessage(), e); - } catch (InvocationTargetException e) { - throw new MappingException(e.getMessage(), e); - } + + Object propertyObj = wrapper.getProperty(prop, prop.getType(), useFieldAccessOnly); + if (null != propertyObj) { if (!conversions.isSimpleType(propertyObj.getClass())) { writePropertyInternal(propertyObj, dbo, prop); @@ -397,14 +383,7 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App public void doWithAssociation(Association association) { MongoPersistentProperty inverseProp = association.getInverse(); Class type = inverseProp.getType(); - Object propertyObj; - try { - propertyObj = wrapper.getProperty(inverseProp, type, useFieldAccessOnly); - } catch (IllegalAccessException e) { - throw new MappingException(e.getMessage(), e); - } catch (InvocationTargetException e) { - throw new MappingException(e.getMessage(), e); - } + Object propertyObj = wrapper.getProperty(inverseProp, type, useFieldAccessOnly); if (null != propertyObj) { writePropertyInternal(propertyObj, dbo, inverseProp); } @@ -668,18 +647,11 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App } MongoPersistentProperty idProperty = targetEntity.getIdProperty(); - Object id = null; BeanWrapper, Object> wrapper = BeanWrapper.create(target, conversionService); - - try { - id = wrapper.getProperty(idProperty, Object.class, useFieldAccessOnly); - if (null == id) { - throw new MappingException("Cannot create a reference to an object with a NULL id."); - } - } catch (IllegalAccessException e) { - throw new MappingException(e.getMessage(), e); - } catch (InvocationTargetException e) { - throw new MappingException(e.getMessage(), e); + Object id = wrapper.getProperty(idProperty, Object.class, useFieldAccessOnly); + + if (null == id) { + throw new MappingException("Cannot create a reference to an object with a NULL id."); } String collection = dbref.collection();