我有一个像这样的 mongo 文档:
{
"user":{
"name":"String",
"Department":{
"departName":"String",
"departId":0
}
}
}
所以我有一个嵌套的json部门,我的spring-hibernate实体是这样的:
@Document(collection:"user")
class User(){
String name
Department department
}
以及类(class)部门:
class Department(){
String departName
Integer departId
}
我想通过departName进行查询,这可以使用mongo查询语言轻松完成,如下所示:
db.user.find("user.department.departName":"HHRR")
所以,我需要做的是在 Spring 数据代码中进行相同的查询。我有一个 mongoRepository,这是我到目前为止尝试过的:
public interface CustomerRepository extends MongoRepository<User, String> {
public Customer findByDepartment(Department department);
}
但这不起作用,因为它同时按部门名称和部门 ID 进行查询,而我只有部门名称。
我想做类似的事情:
public Customer findByDepartment.departName(String DepartName);
我可以使用 spring-hibernate 代码实现这一点吗?
如果这是不可能的,我可以以某种方式使用 mongo 查询吗?
最佳答案
这与 Hibernate 无关。
是的,您可以通过以下方式实现此目的
public Customer findByDepartment_DepartName(String DepartName);
Spring data将根据方法名称制定查询
关于java - Hibernate repo查询访问mongodb嵌入文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48873366/