2016-07-22 3 views
0

В Spring Data JPA есть ли простой запрос репозитория, который возвращает один объект, например findOne(Integer id), за исключением использования других значений уникальных ключевых столбцов?Spring Data JPA: findOne с уникальным ключом

что-то вроде findOneByName(String name) ..

Или я просто использовать JPQL запрос?

+0

если ваш Колум уникален, вы получите только один объект, например, в вашем случае, если имя столбца является уникальным, то метод FindByName будет получать только один объект. – duardito

+0

@duardito cool thanks – user345

ответ

1

Создайте запрос по вашему методу в своем репозитории.

, например

public interface UserRepository extends JpaRepository<User, Long> { 

@Query("select u from User u where u.emailAddress = ?1") 
User findByEmailAddress(String emailAddress); 
} 

Читать далее here

+1

Вам не нужна аннотация @Query, поскольку JPA найдет объект через имя метода. Если emailAddress уникален, вы можете назвать метод findFirstByEmailAddress, и JPA выполнит всю магию. (По крайней мере, если u расширяет org.springframework.data.repository.CrudRepository) – natronite