Я хотел бы знать, почему Hibernate не вставляет внешний ключ в базу данных.
У меня есть отношения OneToMany и ManyToOne между двумя классами.
@Entity
@Data
public class Bestelling {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JoinColumn(name = "bestelling_id")
private long bestellingID;
private Date bestelDatum;
@ManyToOne
@JoinColumn(name = "account_id")
private Account accountID_fk;
@JoinColumn(name = "adres_id")
@OneToOne
private Adres afleverAdres;
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "bestelling")
private List<Bestellingsregel> bestellingsregels = new ArrayList<>();
}
И
@Entity
@Data
public class Bestellingsregel {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JoinColumn(name = "bestellingsregel_id")
private long bestellingsregelID;
private int aantal;
private double prijs;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "bestelling_id")
private Bestelling bestelling;
@OneToOne
@JoinColumn(name = "product_id")
private Product productID;
}
Я использую Почтальон для вставки данных в мою базу данных MySql:
{
"bestelDatum" : "2019-02-28",
"accountID_fk" : {
"accountID" : 1
},
"afleverAdres" : {
"adres_id" : 1
},
"bestellingsregels" : [
{ "aantal" : 5,
"prijs" : 100.50,
"productID" : { "productID" : 1 }
}
]
}
Это вставка в базу данных.Единственная проблема состоит в том, что он не устанавливает bestelling_id в таблице Bestellingsregel.Любая идея, что я делаю здесь не так?
Заранее спасибо.
РЕДАКТИРОВАТЬ:
Я использую Spring и функции crud находятся внутри этого интерфейса:
public interface BestellingRepository extends JpaRepository<Bestelling, Long> {
}