eu tenho uma pergunta rápida. Eu estou tentando fazer de dados como a seguir: Auth(e-mail,passar) -> Cliente(nome, sobrenome, ...) Auth(e-mail,passar) -> RepairShop(ponto de tangência, local, ...)
Auth
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class Auth {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long authid;
Cliente
@Entity
public class Client extends Auth{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idClient;
...
@ManyToOne
private RepairShop repairShop;
RepairShop
@Entity
public class RepairShop extends Auth{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idRepairShop;
...
@OneToMany(cascade = CascadeType.ALL, mappedBy = "repairShop")
private Set<Client> clients;
Com repositórios parecendo AuthRepository
public interface AuthRepository extends JpaRepository<Long, Auth>{
}
ClientRepository
public interface ClientRepository extends JpaRepository<Client,Long> {
}
RepairShopRepository
public interface RepairShopRepository extends JpaRepository<RepairShop, Long> {
}
Auth não pode ser uma classe abstrata, esta é apenas a tabela de ter um bom auth no meu projeto (no momento eu tenho apenas adicionados manualmente a tabela com alguns gatilhos para escrever os dados de Cliente e RepairShop Auth, mas eu estou procurando a melhor solução)
Meu objetivo é ter como base de dados Auth idauth e-mail passar função
Cliente idclient nome sobrenome idauth
RepairShop idrepairShop nip localização idauth
É possível até mesmo fazer como se segue? Ou é apenas má ideia e que eu deveria usar onetoone relacionamento e não jogar mesmo assim. Ou talvez haja alguma solução melhor em estrutura de banco de dados. Também é importante deixá-lo trabalhar facilmente com Angular Aplicativo para ter acesso facilmente a partir do registro com os dados de autenticação para a gestão de outras propriedades do Cliente/RepairShop tabelas
Eu acho que o problema aqui reside no meu repositório de configuração, mas im não tem certeza.
O que você acha sobre isso?