Hibernate repo查询访问mongodb嵌入式文档

时间:2018-02-19 20:02:39

标签: java spring mongodb hibernate spring-boot

我有一个像这样的mongo文档:

{  
   "user":{  
      "name":"String",
      "Department":{  
         "departName":"String",
         "departId":0
      }
   }
}

所以我有一个嵌套的json Departament,我的spring-hibernate实体是这样的:

@Document(collection:"user") 
class User(){
    String name
    Department department    
}

和班级部门:

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);
}

但这不起作用,因为它通过departmentName和departmentId进行查询,而我只有部门名称。

我想做类似的事情:

public Customer findByDepartment.departName(String DepartName);

我可以使用spring-hibernate代码实现这个目的吗?

如果不可能,我可以以某种方式使用mongo查询吗?

1 个答案:

答案 0 :(得分:1)

这与Hibernate无关 是的,你可以通过

实现这一目标
public Customer findByDepartment_DepartName(String DepartName);

Spring数据将根据方法名称

制定查询