2016-07-22 63 views
0

在Spring Data JPA中,是否有任何簡單的存儲庫查詢返回一個對象,如findOne(Integer id)除了使用其他唯一鍵列的值?Spring Data JPA:findOne with unique key

findOneByName(String name) ..

或者我應該只使用JPQL查詢?

+0

如果您科拉姆是獨一無二的,你會得到了一個對象,例如,你的情況,如果name列是唯一那麼方法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將完成所有的魔術。 (至少如果你擴展org.springframework.data.repository.CrudRepository) – natronite