查询mongodb和泛型

sta*_*aru 1 java generics mongodb

我正在使用spring mongoDB,我想使用泛型编写查询,例如

@Override
public  <T extends Common> T find(T t)
{
    return mongoTemplate.findById(t.getId(), Common.class);
}
Run Code Online (Sandbox Code Playgroud)

但是,这给了我一个错误,我无法使用

@Override
public  <T extends Common> T find(T t)
{
    return mongoTemplate.findById(t.getId(), T.class);
}
Run Code Online (Sandbox Code Playgroud)

所以我被困住了.

任何提示?

Roh*_*ain 5

您需要将Class<T>实例传递给方法:

@Override
public  <T extends Common> T find(T t, Class<T> clazz) {
    return mongoTemplate.findById(t.getId(), clazz);
}
Run Code Online (Sandbox Code Playgroud)