简体   繁体   English

为什么外键是 null? @OneToMany

[英]Why foreign key is null? @OneToMany

I created two entities: Customer and Car.我创建了两个实体:客户和汽车。 I used relation @OneToMany because i wanted assign few cars to one customer in database with foreign key user_id.我使用了@OneToMany 关系,因为我想用外键 user_id 将几辆车分配给数据库中的一位客户。 I saved everything to database and I don;t know why in table with cars where there is column with user_id it shows me only nulls.我将所有内容都保存到数据库中,但我不知道为什么在带有带有 user_id 的列的汽车表中它只显示空值。

@Service public class CustomerCarsService { @Service public class CustomerCarsService {

public CustomerCarsService(CarRepository carRepository, CustomerRepository customerRepository) {
    Customer customerAnnaMazurek = new Customer();
    customerAnnaMazurek.setNameAndSurname("Anna Mazurek");
    customerAnnaMazurek.setAge(50);
    customerRepository.save(customerAnnaMazurek);

    Customer customerJanMazurek = new Customer();
    customerJanMazurek.setNameAndSurname("Jan Mazurek");
    customerJanMazurek.setAge(70);
    customerRepository.save(customerJanMazurek);


    Car lamboCar = new Car();
    lamboCar.setMarka("Lambo");
    lamboCar.setModel("Hurracan");
    lamboCar.setMaxSpeed(350);
    carRepository.save(lamboCar);

    Car ferrariCar = new Car();
    ferrariCar.setMarka("Ferrari");
    ferrariCar.setModel("Portofino");
    ferrariCar.setMaxSpeed(350);
    carRepository.save(ferrariCar);

    Car huandayCar = new Car();
    huandayCar.setMarka("Huanday");
    huandayCar.setModel("Pipo");
    huandayCar.setMaxSpeed(300);
    carRepository.save(huandayCar);

    List<Car> annaMazurekCars = new ArrayList<>();
    annaMazurekCars.add(lamboCar);
    annaMazurekCars.add(ferrariCar);
    customerAnnaMazurek.setCarList(annaMazurekCars);

    List<Car> janMazurekCars = new ArrayList<>();
    janMazurekCars.add(lamboCar);
    janMazurekCars.add(ferrariCar);
    janMazurekCars.add(huandayCar);
    customerJanMazurek.setCarList(janMazurekCars);


  }

} }

@Entity
@Table(name = "customers")
public class Customer {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

private String nameAndSurname;
private Integer age;

@OneToMany
@JoinColumn(name = "user_id")
private List<Car> cars;


public Customer() {
}

public Long getId() {
    return id;
}

public void setId(Long id) {
    this.id = id;
}

public String getNameAndSurname() {
    return nameAndSurname;
}

public void setNameAndSurname(String nameAndSurname) {
    this.nameAndSurname = nameAndSurname;
}

public Integer getAge() {
    return age;
}

public void setAge(Integer age) {
    this.age = age;
}

public List<Car> getCarList() {
    return cars;
}

public void setCarList(List<Car> carList) {
    this.cars = carList;
}

} }

 @Entity

@Table(name = "cars") public class Car { @Table(name = "cars") 公共 class 汽车 {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;


private String marka;
private String model;
private double maxSpeed;

public Car() {
}

public Long getId() {
    return id;
}

public void setId(Long id) {
    this.id = id;
}

public String getMarka() {
    return marka;
}

public void setMarka(String marka) {
    this.marka = marka;
}

public String getModel() {
    return model;
}

public void setModel(String model) {
    this.model = model;
}

public double getMaxSpeed() {
    return maxSpeed;
}

public void setMaxSpeed(double maxSpeed) {
    this.maxSpeed = maxSpeed;
}

} }

try to save your customers尝试拯救你的客户

    customerRepository.save(customerJanMazurek);
    customerRepository.save(customerAnnaMazurek);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM