2016-11-17 12 views
2

私はPOJOオブジェクトを次ています春データ:複雑なオブジェクト内の文字列の検索

public class Address { 
    private String country; 
    private String city; 
    private String street; 
    private String building; 
    private String room; 
} 

とMongoのエンティティ以下:

@Document(collection = "corporateTransport") 
public class CorporateTransport { 
    @Id 
    private String id; 
    private Address from; 
    private Address to; 
} 

また、私はこのリポジトリを持っている:

public interface CorporateTransportRepository extends CrudRepository<CorporateTransport, String> { 
} 

I 「共和国」のような住所の国では、すべてのcorporateTransport文書を検索したいと考えています。 どうすればいいですか?私は@QueryまたはCrudRepositoryと書くことができますか?

+0

簡単にクエリを記述するのに役立ちますするTry querydsl:

例を試してみてください。 https://github.com/querydsl/querydsl/tree/master/querydsl-mongodb。非常に簡単にプラグインとクエリーを書くことができます。 – Jango

+0

http://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#mongodb.repositories.queriesとhttp://www.baeldung.comをご覧ください。/queries-in-spring-data-mongodb –

答えて

0

実際に@Queryアノテーションはまったく必要ありません。

public interface CorporateTransportRepository extends CrudRepository<CorporateTransport, String> { 
    List<CorporateTransport> findByFrom_CountryContainingIgnoreCaseOrTo_CountryContainingIgnoreCase(String country); 
} 
0

CorporateTransportRepository

List<CorporateTransport> findByTo_CountryContaining(String country);

を試してみてください。

関連する問題