【发布时间】:2015-07-10 00:41:42
【问题描述】:
我正在使用 MongoRepository 接口为不同的实体扩展我的自定义存储库。现在我遇到了问题,让我们假设一个例子: 我有 2 个实体:
@Document(collection = "person")
public class Employee {
private String position;
}
和
@Document(collection = "person")
public class Manager {
private String major;
}
两者的存储库:
@Repository
public interface ManagerRepository extends MongoRepository<Manager, String> {}
和
@Repository
public interface EmployeeRepository extends MongoRepository<Employee, String> {}
当我保存 2 个模型时一切顺利:
{
"_id" : ObjectId("5541f988d4c603ebac18a147"),
"_class" : "com.igmtechnology.gravity.core.init.test.Manager",
"major" : "majority"
}
{
"_id" : ObjectId("5541f988d4c603ebac18a148"),
"_class" : "com.igmtechnology.gravity.core.init.test.Employee",
"position" : "developer"
}
但是当我从一个存储库中执行 findAll() 时,我得到了 2 个对象,其中一个 spring 自动转换为另一个。 如何避免这种自动铸造?或者如何指定我需要获取哪个类?
【问题讨论】:
标签: java spring mongodb spring-data