我在春天啓動應用程序 在Spring數據休息的不同的行爲來,當我從對象倉庫類查詢,有自定義查詢通過匹配電子郵件ID檢索用戶對象,電子郵件ID是唯一的。我得到空值和對象存在。 我打電話給郵差的Rest URI。在這方面春天開機休息JPA查詢返回null對象上查詢通過電子郵件
0
A
回答
0
調試後,很多我終於在這個觀察到的電子郵件ID是不是能夠達到控制映射的方法和[email protected],它被解讀爲測試@ gmail的和時段,以及COM值被移出達,解決方法是更改URI映射並在參數末尾添加/,以便更新的URI現在爲
@RequestMapping(value =「/ user/email/{email} /」,產生= MediaType.APPLICATION_JSON_VALUE)
1
請需要 --UserRepository
@Repository
@Transactional
public interface UserRepository extends JpaRepository<User, Long> {
@Query(value ="select u from User u where u.email = :email")
User findByEmail(@Param("email") String email);
}
--UserServiceImpl
@Service("userService")
@Transactional
public class UserServiceImpl implements IUserService{
@Autowired
private UserRepository userRepository;
@Override
public User findByEmail(String email) {
return userRepository.findByEmail(email);
}
}
--controller
@RestController
@RequestMapping("/api")
public class UserControllerRest {
@Autowired(required = true)
UserServiceImpl userService;
@RequestMapping(value = "/user/email/{email}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<User> getUserByEmail(@PathVariable("email") String email) {
System.out.println("Fetching User with id " + email);
User user = userService.findByEmail(email);
if (user == null) {
System.out.println("User with email " + email + " not found");
return new ResponseEntity<User>(HttpStatus.NOT_FOUND);
}
return new ResponseEntity<User>(user, HttpStatus.OK);
}
}
幫助,增加更多的細節。將項目添加到GitHub或其他東西。你的用戶模型是怎樣的?您注入服務實現而不是IUserService,也許這是問題。
+0
我有固定的服務注入,通過用IUserService替換服務實現 – Taimur
相關問題
- 1. 春天JPA查詢findByNameAndType返回NULL
- 2. JPA JPQL查詢返回null
- 3. 休眠查詢返回null
- 4. 通過查詢電子郵件到「mailto:」
- 5. 春天開機,春天的OAuth2,休息
- 6. LINQ子查詢返回null
- 7. mySQL子查詢返回NULL
- 8. 春天開機JPA如何查詢有關@Transient屬性
- 9. 春天JPA共創雙括號查詢
- 10. JPA本機查詢不返回
- 11. JPA本機查詢返回類
- 12. JPA本地查詢結果返回重複的子對象
- 13. 帶有ResultSetMapping對象的SQL本機查詢返回null
- 14. HQL - 通過電子郵件或串點查詢(「‘)總是返回空集
- 15. Sql查詢返回對象
- 16. JPA /休眠子查詢中from子句
- 17. 春天 - 從查詢
- 18. 發送查詢從「檢查」的HTML框通過電子郵件發送電子郵件通過PHP
- 19. SQL SELECT Sum子查詢返回NULL
- 20. 子查詢返回NULL 「NOT IN」
- 21. Linq查詢的WHERE子句返回null
- 22. HQL子查詢意外的NULL返回
- 23. 返回零而非NULL子查詢
- 24. SQL子查詢返回NULL IN語句
- 25. 左加入子查詢返回null
- 26. 刪除行時,子查詢返回null
- 27. 通過子對象查詢AngularFire2
- 28. 春天休息不返回JSON對象 - 越來越404
- 29. JPA /休眠/ HSQLDB查詢但未分配子對象
- 30. @media查詢在通過iOS查看html電子郵件時被忽略郵件
我們能幫忙嗎?你只需要開始調試:你傳遞給查詢的電子郵件是你認爲的那個(沒有尾隨或領先的空白空間等)?電子郵件是否真的存在於表格中?插入它的事務是否已被提交?您確定該應用程序使用您認爲正在使用的數據庫或模式嗎?它是否適用於其他現有電子郵件?在代碼中添加痕跡。使用你的調試器。我們在這裏沒有什麼可以做的。 –
是的電子郵件存在數據庫中,我也檢查trim,當我嘗試獲取對象列表時,它向我顯示具有電子郵件ID的特定對象,但是當我嘗試作爲單個對象檢索時,我無法獲取它。 – Taimur
我已經在sql查詢中使用類似條件進行檢查,並且它返回數據,可能這是前導空格的問題。 @Query(值=「從用戶選擇名字,姓氏ü在那裏u.email喜歡%:電子郵件%」),但與類似條件沒有滿足必要條件,因爲它會返回一個對象 – Taimur