在Spring Data JPA中,可以使用@Query注解和JPQL(Java Persistence Query Language)来按类型查询。以下是一个示例: ```java @Repository public interface UserRepository extends JpaRepository<User, Long> { @Query("SELECT u FROM User u WHERE u.type = :type") List<User> findByType(@Param("type") UserType type); } ``` 在上面的示例中,我们定义了一个名为findByType的方法,该方法使用@Query注解和JPQL查询语句来按类型查询用户。该方法接受一个UserType类型的参数,并返回一个User类型的列表。 在JPQL查询语句中,我们使用了实体类的属性名(type)来过滤结果。我们还使用了@Param注解来指定方法参数的名称,以便在查询语句中引用它。 要使用此方法,请在您的服务类中注入UserRepository,并调用该方法,如下所示: ```java @Service public class UserService { @Autowired private UserRepository userRepository; public List<User> getUsersByType(UserType type) { return userRepository.findByType(type); } } ``` 在上面的示例中,我们注入了UserRepository,并使用它来调用findByType方法来按类型查询用户。