从表JPA中选择Distinct列

时间:2016-09-09 14:06:50

标签: java spring spring-data-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();

}

希望这更清楚。但我试图执行该查询而不必使用@Query。它并没有真正影响那里有任何东西,我会喜欢它。这个陈述可能吗?

1 个答案:

答案 0 :(得分:0)

Spring Data JPA使用反射将方法签名与字段名称和操作相匹配,因此确认您具有正确的列名称是一个好的起点,即它是lastName还是lastNames

否则,根据Spring Data JPA documentation,以下内容应正常运行:

List<User> findDistinctByLastName(String lastName);

您是否获得了堆栈跟踪?