0
這是我的代碼在我的控制器下面,即使我傳遞一個有效的密鑰我總是得到null作爲結果。可以有人告訴我爲什麼會發生這種情況。下面是我的存儲庫,控制器和域類春季啓動jpa存儲庫接口總是返回空
public interface AbcRepository extends JpaRepository<ForgotPasswordToken, int> {
Abc findByHashKey(String hashKey);
Abc findByUser(User user);
}
映射:
@RequestMapping(value = "/validateKey/{hashKey}", method = RequestMethod.GET)
public ResponseEntity validateKey(@PathVariable String hashKey) {
Abc abc = AbcRepository.findByHashKey(hashKey);
if (abc == null) {
return ResponseEntity.badRequest().body("Invalid key");
}
return ResponseEntity.ok().body(abc.getUser());
}
實體:
@Entity
@Data
public class Abc {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "user_id")
private User user;
private String hashKey;
private String email;
@Temporal(TemporalType.TIMESTAMP)
private Date createdAt;
@PrePersist
public void onCreate() {
this.createdAt = new Date();
}
}
你的版本庫返回'ForgotPasswordToken'不'Abc',你關鍵是'long'不'int' – ByeBye
或者,你沒有任何實體符合您的條件 – ByeBye
嗨,我試着用長期仍然得到相同的結果。 Im使用ForgotPasswordToken而不是Abc.Sorry在複製代碼時犯了一個錯誤,希望使用別名爲ForgotPasswordToken,因此使用Abc – user2452537