我想通过添加一个方法来自定义 MongoRepository,并且仍然使用 MongoRepository 提供的实现方法。下面是代码:
public interface TopoRepositoryInterface extends MongoRepository<Topo, String>
{
@Query("{'name':?0}")
public Topo findByName(String name);
public long getPublishedTopoCount();
}
实现声明是:
public class TopoRepositoryImpl extends SimpleMongoRepository<Topo, String> implements TopoRepositoryInterface
如果没有自定义,在 TopoRepositoryInterface 中声明的方法 findByName 可以通过添加 @Query("{'name':?0}") 注解自动实现。但是现在,既然有接口继承,就必须加代码
@Override
public Topo findByName(String name)
{
Topo topo = getMongoOperations().findOne(Query.query(Criteria.where("name").is(name)), Topo.class);
return topo;
}
有没有办法只为 getPublishedTopoCount() 编写我自己的代码,并让 findByName() 由 @Query 注释实现?非常感谢。