Spring Boot
версия 2.1.6
.
У меня есть User
класс:
@Data
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
Long userID;
String eMail;
public User()
{
}
}
И LoginCredential
класс:
@Data
@Entity
public class LoginCredential {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
Long userID;
String eMail;
String passwordHash;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "id", referencedColumnName = "id")
User user;
public LoginCredential()
{
}
}
Мусорэто создает экземпляр User
, когда я создаю экземпляр LoginCredential
.
Причина Я запускаю эту команду: curl -X POST -H "Content-Type: application/json" -d "{ \"email\": \"a\", \"passwordHash\": \"b\" }" http://localhost:8080/login
И я получил экземпляр LoginCredential
но не User
.
Ответ:
{"userID":1,"passwordHash":"b","user":null,"email":"a"}
И затем я запускаю эту команду: curl -X POST -H "Content-Type: application/json" -d "{ \"email\": \"c\", \"passwordHash\": \"d\" ,\"user\":{}}" http://localhost:8080/login
И то, что я получил, это ничего , не того же ID.
Ответ:
{"userID":2,"passwordHash":"d","user":{"userID":3,"email":null},"email":"c"}
Я пропалчто-то ?Как это можно решить?
LoginCredentialController
частично:
@PostMapping("/login")
LoginCredential newLoginCredential(@RequestBody LoginCredential newLoginCredential)
{
return repository.save(newLoginCredential);
}
My pom.xml
My application.properties