mam takie małe pytanie. Staram się zrobić następujące dane: Autoryzacja(e-mail,przepustka) -> Klient(imię, nazwisko, ...) Autoryzacja(e-mail,przepustka) -> warsztat(nip, lokalizacja, ...)
Autor
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class Auth {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long authid;
Klient
@Entity
public class Client extends Auth{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idClient;
...
@ManyToOne
private RepairShop repairShop;
Warsztat
@Entity
public class RepairShop extends Auth{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idRepairShop;
...
@OneToMany(cascade = CascadeType.ALL, mappedBy = "repairShop")
private Set<Client> clients;
W repozytoriach, jak Автореферат
public interface AuthRepository extends JpaRepository<Long, Auth>{
}
Клиентрепозиция
public interface ClientRepository extends JpaRepository<Client,Long> {
}
Remontowo-naprawczy
public interface RepairShopRepository extends JpaRepository<RepairShop, Long> {
}
Uwierzytelnianie nie może być klasą abstrakcyjną, to tylko tabela dla dobrej uwierzytelniania w moim projekcie (obecnie mam tylko że ręcznie dodał tabelę z niektórych wyzwalaczy dla zapisu danych z klienta i warsztatu w uwierzytelnianie, ale szukam najlepsze rozwiązanie)
Moim celem jest mieć bazę danych, podobną Rola wysyłania wiadomości e-mail Auth idauth
Klient idclient nazwa nazwisko idauth
Warsztat ID warsztat nip lokalizacja idauth
Czy to w ogóle możliwe, aby to zrobić w następujący sposób? Czy jest to po prostu zły pomysł, a ja mam po prostu użyć relacje onetoone i nawet nie grać. Czy może jest jakieś lepsze rozwiązanie w strukturze bazy danych. Ważne jest również, aby łatwo pracował z aplikacją Angular, aby mieć łatwy dostęp od rejestrowania danych z auth do sterowania innymi właściwościami z tabel klienta/warsztatu
Myślę, że problem tutaj tkwi w konfiguracji mojego repozytorium, ale nie jestem pewien.
Co o tym myślicie?