ниже - это мои 2 сущности:
package dev.proj.project.application.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
@Entity
@Table(name = "user")
public class User {
@Id
@NotNull
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", updatable = false, nullable = false)
public int id;
@NotNull
@Column(name="firstname")
private String firstname;
@NotNull
@Column(name="lastname")
private String lastname;
@NotNull
@Column(name="email")
private String email;
@NotNull
@Column(name="password")
private String password;
@JsonIgnore
@OneToMany(mappedBy="user", cascade = CascadeType.ALL)
private List<Address> address;
}
package dev.proj.project.application.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
@Entity
@Table(name = "address")
public class Address {
@Id
@NotNull
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", updatable = false, nullable = false)
private int id;
@NotNull
@Column(name="street")
private String street;
@NotNull
@Column(name="house")
private String house;
@NotNull
@Column(name="flat")
private String flat;
@NotNull
@Column(name="code")
private String code;
@NotNull
@Column(name="city")
private String city;
@ManyToOne(optional = false)
@JoinColumn(name = "user_id",nullable = false,updatable = true,insertable = true)
private User user;
}
Я хочу создать отношение Пользователь-> Адрес Один ко многим, но если я отправил запрос на адрес / адрес:
{"street": "ulicanewnew", "house": "5", "flat": "2", "code": "20-001", "city": "warsaw", "user_id ": 1}
user_id в моей таблице адресов имеет значение null:
Почему внешний ключ в таблице адресов всегда значение NULL? Вы видите, что здесь не так? С прямыми sql вставками в БД - все отлично работает