2016-09-09 9 views
0

JPAクエリを使用する方法があるかどうか疑問に思っていました。テーブルから別のカラムを選択JPA

@Transactional 
public interface UserRepository extends JpaRepository<User, Long> { 


    List<User> findByLastNameIgnoreCase(String lastName); //This is the format I am looking for 

    @Query("SELECT DISTINCT t.lastName FROM User t") //Don't want to have to use the @Query 
    List<String> findDistinctLastNames(); 

} 

それがより明確になることを望みます。しかし、私は@クエリを使用することなくそのクエリを実行しようとしています。それは本当にそこに何かに影響を与えることはありません、私はそれが好きです。その声明は可能ですか?

+0

'findDistinctByLastNames'の' by'を忘れたと思います。 – Ralph

+0

いいえ、私は 'findDistinctByLastName'でも試してみました。返されたユーザのリストを返すか、パラメータを渡す必要はありません。私は単に、Distinct Stringの内容を 'lastNames'カラムから取得しようとしています。 – John

答えて

0

スプリングデータJPAではリフレクションを使用してフィールド名と操作にメソッドシグネチャを一致させるため、正しい列名を使用していることを確認することをお勧めします。つまり、lastNameまたはlastNamesですか?

そうでない場合は、Spring Data JPA documentationによると、以下では正常に動作する必要があります

List<User> findDistinctByLastName(String lastName); 

あなたはスタックトレースを取得していますか?

関連する問題