Witajcie,
Chciałbym zrobic asoscjajce OneToOne, jednak nie moge rozgryźć błędu. Mam dwie tabele:
Bank
ID (klucz główny)
Nazwa (Typu string)
Konto
ID (klucz główny)
Konto (typu String)
Tabele połączyłme relacją jeden do jeden, a na kolumnach ID ustawiłem autonumeracje bazy danych.
A to moje klasy:
@Entity
@Table(name = "Konto")
public class Konto implements Serializable
{
@GenericGenerator(name = "generator", strategy = "foreign", parameters = @Parameter(name = "property", value = "konto"))
@Id
@GeneratedValue(generator = "generator")
@Column(name = "ID", unique = true, nullable = false)
private int id;
@Column(name = "Konto")
String konto;
@OneToOne(fetch = FetchType.EAGER)
@PrimaryKeyJoinColumn
Bank bank;
@Entity
@Table(name = "Bank")
public class Bank implements Serializable
{
@Id
@GeneratedValue(strategy = IDENTITY)
@JoinColumn(name = "ID", unique = true, nullable = false)
private int id;
@Column(name = "Nazwa")
String nazwa;
@OneToOne(fetch = FetchType.EAGER, mappedBy = "bank", cascade = CascadeType.ALL)
Konto konto;
Nie porafie rozgryżc dlaczego to nie dizała, może ktoś z większą wiedzą pomoże.
Błąd: ERROR: The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Bank_Konto". The conflict occurred in database "ExProF", table "dbo.Konto", column 'ID'.