Spring Data(mongoDB),findBy存储库上的代理方法不能使用空值

时间:2011-06-20 15:59:45

标签: spring repository spring-data findby

我在MongoRepository扩展程序类中有一个代理方法,如下所示:

public interface InvitationRepository extends MongoRepository<Foo, String>
{
    public Foo findByUserIdAndDestinationMail( String userId, String destinationMail );
}

当我尝试在DB中找到Foo个实例而没有任何destinationMail时,通过调用:

Foo foo = invitationRepository.findByUserIdAndDestinationMail( userId, null );

MappingMongoConverter会抛出NullPointerException

¿我可以使用任何代理方法找到具有空值的实例吗?

如果我需要在自定义实现中创建方法¿我如何使用mongoTemplate执行此操作? ¿有这样的事吗?

mongoTemplate.findOne( new Query( 
    Criteria.where( "userId" ).is( userId ).and( "destinationMail" ).is(... )),
    entityClass );

非常感谢。

1 个答案:

答案 0 :(得分:0)

问题似乎没有出现在当前的1.0.1.RELEASE版本中。因此,如果您遇到此问题,请升级到此版本。