2017-08-07 1 views
1

エンティティを持つコンポジションフィールドを含むコンポジションDate publicationDateとBooleanのアーカイブ。私は、引数として渡され、アーカイブフラグがfalseに設定される前に、publicationDateでCompositionsのリストを取得しようとしています。チュートリアルとドキュメント「メソッド名からクエリの作成」の一部を通過した後、私は方法SpringデータのメソッドパラメータでBeforeキーワードを使用する

List<Composition> findByPublicationDateBeforeDateAndArchivalFalse(Date date); 

または

List<Composition> findByPublicationDateBeforeDateAndArchivalFalse(@Param("date")Date date); 

を思い付いたが、これのどれも機能しません。どちらも、それは、プロパティbeforeDateを解決できないとのIntelliJもBeforeDateを強調

nested exception is org.springframework.data.mapping.PropertyReferenceException: No property beforeDate found for type Date! Traversed path: Composition.publicationDate. 

でUnsatisfiedDependencyExceptionを与えます。パラメータでこれらのキーワードを使用する正しい方法は何ですか?そのため、パラメータはSpringのフィールドと区別できますか?

答えて

1

次のようにあなたの方法をリファクタリング:

List<Composition> findByPublicationDateBeforeAndArchivalFalse(Date date); 

Beforeキーワードを使用すると、引数として渡すdatepublicationDateを比較しますので、BeforeDateを言う必要はありません。 >findByStartDateBefore SQLの一部… where x.startDate < ?1

次生成 -

Beforeは:ちょうどSpring Data documentationの例のように

関連する問題