Hibernate repo 查询访问 mongodb 嵌入文档
Posted
技术标签:
【中文标题】Hibernate repo 查询访问 mongodb 嵌入文档【英文标题】:Hibernate repo query to access mongodb embedded document 【发布时间】:2018-07-30 02:42:54 【问题描述】:我有一个这样的 mongo 文档:
"user":
"name":"String",
"Department":
"departName":"String",
"departId":0
所以我有一个嵌套的 json 部门,我的 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);
但这不起作用,因为它同时通过部门名称和部门 ID 进行查询,而我只有部门名称。
我想做类似的事情:
public Customer findByDepartment.departName(String DepartName);
我可以使用 spring-hibernate 代码实现这一点吗?
如果这不可能,我可以使用 mongo 查询吗?
【问题讨论】:
【参考方案1】:这与 Hibernate 无关。 是的,您可以通过
来实现public Customer findByDepartment_DepartName(String DepartName);
Spring 数据会根据方法名制定查询
【讨论】:
它就像一个魅力,这正是我想要做的......如此糟糕的文档......非常感谢!以上是关于Hibernate repo 查询访问 mongodb 嵌入文档的主要内容,如果未能解决你的问题,请参考以下文章
Hibernate 在访问关联实体的 id 时生成 SQL 查询