size bir sorum var. Verileri aşağıdaki gibi yapmaya çalışıyorum: (Adı, Soyadı(e-mail,pass) Auth -> İstemci ...) (Nip, konum(e-posta,pass) Auth -> RepairShop ...)
Auth
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class Auth {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long authid;
Müşteri
@Entity
public class Client extends Auth{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idClient;
...
@ManyToOne
private RepairShop repairShop;
Tamirci
@Entity
public class RepairShop extends Auth{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idRepairShop;
...
@OneToMany(cascade = CascadeType.ALL, mappedBy = "repairShop")
private Set<Client> clients;
Gibi görünen depolarla 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 soyut sınıf olamaz, bu sadece projemde iyi bir auth olması için tablodur (şu anda İstemciden ve repairshop'tan Auth dosyasına veri yazmak için bazı tetikleyicilere sahip tabloyu manuel olarak ekledim, ancak daha iyi bir çözüm arıyorum)
Amacım aşağıdaki gibi bir veritabanına sahip olmaktır Auth ıdauth e-posta geçmek rol
Müşteri ıdclient isim soyadı ıdauth
Tamirci ıdrepairShop kesmek konum ıdauth
Bunu aşağıdaki gibi yapmak mümkün mü? Ya da bu sadece kötü bir fikir ve sadece tek bir ilişki kullanmalı ve böyle oynamamalıyım. Ya da belki veritabanı yapısında daha iyi bir çözüm var. Ayrıca, Angular Uygulamasıyla kolayca çalışmasına izin vermek önemlidir, böylece auth verilerinden günlüğe kaydetmeden İstemci/Onarım tablolarından diğer özellikleri yönetmeye kolayca erişebilirsiniz
Buradaki sorunun depo yapılandırmamda yattığını düşünüyorum ama emin değilim.
Bu konuda ne düşünüyorsunuz?