2016-08-15 57 views
1

我有這樣的實體:沒有找到命名查詢

@Entity 
public class User { 

@Id 
@GeneratedValue(strategy = GenerationType.AUTO) 
@Column(name = "id", unique = true, nullable = false) 
private Long id; 

private String firstname; 
private String lastname; 
private Date birthdate; 
private int phonenumber; 
private int cin; 
private String address; 
private String password; 
private String email; 
//Getters & Setters .. 
} 

這DAO類:

@Repository 
public interface UserDAO extends JpaRepository<User, Long> { 

List<User> findAllUsersByFirstnameOrderByFirstnameDesc(String firstName); 
List<User> findAllUsersByLastnameOrderByLastnameDesc(String Lastname); 
List<User> findAllUsersByFirstnameAndLastnameOrderByFirstname(String firstAndLastname); 
List<User> findAllUsersByFirstnameOrLastnameContaining(String nameContent); 
List<User> findAllUsersByPhonenumber(int phoneNumber); 
List<User> findAllUsersByEmailContaining(String email); 
User findUserByCin(int cin); 
} 

當我運行它,我得到這個錯誤:

引起通過:java.util.NoSuchElementException:null at java.util.ArrayList $ Itr.next(Unknown Source)

DEBUG org.springframework.data.jpa.repository.query.NamedQuery - 沒有找到命名查詢User.findAllUsersByEmailContaining

DEBUG org.springframework.data.jpa.repository.query.NamedQuery - 難道無法找到名爲查詢 User.findAllUsersByFirstnameOrLastnameContaining

感謝。

+0

不知道什麼是錯的,但我沒有得到這個查詢如何工作,列表 findAllUsersByFirstnameAndLastnameOrderByFirstname(String firstAndLastname); ---當它需要2個參數時,你傳遞一個參數。 – Arun

+0

那是這個問題,它不工作,我不知道爲什麼。你能詳細說明一下嗎? @Arun –

+1

對於我在評論中的查詢,你需要傳遞2個參數,如findAllUsersByFirstn ameAndLastnameOrderBy Firstname(String firstName,String LastName); – Arun

回答

0

感謝@Arun我能解決我的問題如下所述:

改變這一點:

List<User> findAllUsersByFirstnameAndLastnameOrderByFirstname(String firstAndLastname); 

要:

List<User> findAllUsersByFirstnameAndLastnameOrderByFirstname(String firstname, String lastname); 

此:

List<User> findAllUsersByFirstnameOrLastnameContaining(String nameContent); 

List<User> findAllUsersByFirstnameOrLastnameLike(String nameContent); 

List<User> findAllUsersByFirstnameOrLastnameContaining(String nameContent); 

List<User> findAllUsersByFirstnameOrLastnameContaining(String firstname, String lastname); 

欲瞭解更多信息,您可以檢查此link