Cześć.
Mam zagwostke. Potrzebuję stworzyć bazę danych na wzór tego.
Screen bazy
Więc muszę zrobić relacje identifying i mandatory. Da się to zrobić od strony spring boota? Za każdym razem jak próbuję z adnotacjami @NotNull, @NotEmpty, optional=false itd. to nic to nie daje, a na internecie coś nie mogę znaleźć rozwiązania. Próbowałem jeszcze z @PrimaryKeyJoinColum, ale co mi nie wychodzi. Tutaj przykładowy kod encji Company i Worker.
@Entity
@Table(name="firma")
public class Company {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="idFirma")
private int id;
@Column(name="nazwa", nullable = false, length = 128)
private String name;
@Column(name="adres",length = 256)
private String adres;
@OneToMany(mappedBy = "company")
List<Worker> workerList = new ArrayList<>();
}
@Entity
@Table(name = "pracownik")
public class Worker {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="idPracownika")
private int id;
@Column(name="imie", nullable = false, length = 45)
private String firstName;
@Column(name="nazwisko", nullable = false, length = 45)
private String lastName;
@Column(name="email", length = 45)
@Email
private String email;
@Column(name="telefon", length = 12)
private String phone;
@ManyToOne
@JoinColumn(name = "idFirma", nullable = false)
Company company;
}
Tutaj co wychodzi. Brak odpowiednich relacji identyifying i mandatorów. Tak samo w relacjach wiele do wielu klucze w pośredniej tabeli nie są ustawione jako primary key.