Hej, mam kilka pytań odnośnie relacji bawię się z tym od kilku dni, i albo coś źle interpretuje, albo nie potrafię czegoś zrozumieć dziwne smyczki mi wychodzą przy zapisach w MySQL, nie potrafię, że tak powiem przejść dalej, i mnie to strasznie blokuje być może jak na początek zbyt wysoko postawiłem sobie poprzeczkę proszę o wskazówkę
Dotychczas mam zrobiony panel logowania/rejestracji przy użyciu spring security, mogę stworzyć Usera, ale problem jest wtedy gdy chcę zaktualizować metodą POST jego informacje o adresie załóżmy, że tworzę 3 użytkowników mają oni (PK) 1,2,3 teraz chcę zrobić update adresu, przy stworzeniu update adres ma PK zaczyna się od 4, a FK jest nullem
Klasa user, i adress
@Entity
@Table(name = "USER")
public class User {
@Id
@GeneratedValue
@Column(name = "USER_ID")
private Long id;
private String username;
private String password;
public User() {}
}
// getters setters
@Entity
@Table(name = "ADDRESS")
public class Address {
@Id
@GeneratedValue
@Column(name = "ADDRESS_ID", nullable = false)
private long id;
private String street;
private String city;
@OneToOne
@JoinColumn(name = "USER_ID")
private User user;
public Address(){}
// geterry i settery
Zastanawiam się, czy dobrze wykonałem taką relacje OneToOne, czy może powinienem to inaczej zrobić coś w stylu dołożyć klasę UserAddress i tam połączyć obie strony tej relacji, i przy stworzeniu usera od razu wygenerować jego PK do Adresu, i od razu zaktualizować ją w UserAdress, a później po zalogowaniu użytkownika pobrać id użytkownika i ją za aktualizować?
Jak do tej pory stworzeniu czegoś prostego jak rejestracja czy stworzenie jakiegoś todo nie sprawiło mi zbyt dużych problemów, ale na tym kompletnie się wyłożyłem, nie potrafię tego przypisać,a nawet jak już coś uda mi się przypisać to powstają mi mankamenty w bazię, że nawet jak dobrze przypisuję mi FK w bazie, to nagle kolejny PK jest większy o 2/3 ID od poprzedniego, kompletnie nie wiem gdzie leży problem, proszę o nakierowanie gdzie robię błąd