在Spring Data Repositories中查找列表中包含字符串的实体

时间:2015-02-27 10:27:17

标签: spring-boot spring-data spring-data-rest

我有一个简单的MongoRepository,其实体确实有List<String> tags属性。有没有办法将findBy方法添加到存储库?像

这样的东西
List<...> findByInTags(@Param("tag") String tag);

因此,将返回列表tag中包含给定字符串tags的所有实体。

我尝试使用RestController和自定义findByTag端点解决此问题。但我想将HATEOAS用于结果格式。

1 个答案:

答案 0 :(得分:16)

来自spring-data-mongo单元测试:Person.java

@Document
public class Person extends Contact {
    private String firstname;
    private String lastname;
    ...
    private Set<Address> shippingAddresses;

PersonRepository

    /**
* Returns the {@link Person} with the given {@link Address} as shipping address.
*
* @param address
* @return
*/
Person findByShippingAddresses(Address address);
IIRC,这种语法也适用于Collections。所以你应该可以使用

  

列表与LT; ...&GT; findByTag(String tag);