在 Spring 数据存储库的列表中查找包含字符串的实体

Find entities containing a string in a list in Spring Data Repositories

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

List<...> findByInTags(@Param("tag") String tag);

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

我尝试使用 RestController 和自定义 findByTag 端点来解决它。但我想使用 HATEOAS 作为结果格式。

来自 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,这种语法也适用于集合。所以你应该可以使用

List<...> findByTag(String tag);