0
私のコントローラの下にこのマイコードは、私はいつも有効なキーを渡してもresult.Can誰かが私のリポジトリ、コントローラそして、ドメインクラス春のブートjpaリポジトリのインターフェイスは常にnullを返します
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' ' – ByeBye
int'それとも、あなたの条件に一致するすべてのエンティティを持っていないではない'である – ByeBye
こんにちは私が試してみましたまだ長いと同じ結果が得られます。 ImはForgotPasswordTokenをAbc.の代わりにどこでも使用しています。ここでコードをコピーしてForgotPasswordTokenのエイリアス名を使用したかったので間違いました。Abc – user2452537