하는 방법이 올바르게 관리하는 엔티티에서는 최대 절전 모드는 2 그들의 상속 한 후에

0

질문

나는 빠른 질문입니다. 내가 만들려고 하는 데이터는 다음과 같다: 증(이메일,전달)->클라이언트(이름,성,...) 증(이메일,전달)->RepairShop(nip,위치,...)

인증

@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)

public class Auth {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long authid;

클라이언트

@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;

으로 저장소 찾고 싶 AuthRepository

public interface AuthRepository extends JpaRepository<Long, Auth>{

}

ClientRepository

public interface ClientRepository extends JpaRepository<Client,Long> {
}

RepairShopRepository

public interface RepairShopRepository extends JpaRepository<RepairShop, Long> {
}

인증할 수 없는 추상 클래스,이은 테이블을 인증서 프로젝트 (현재는 없는 수동으로 추가된 테이블과 함께 몇 가지 트리거 데이터를 기록에서 클라이언트와 RepairShop 을 인증하지만,내가 찾는 것이 더 나은 솔루션)

나의 목표는 다음과 같은 데이터베이스 인증 idauth 이메일 패스 역할

클라이언트 idclient 이름 성 idauth

RepairShop idrepairShop nip 위치 idauth

도 가능하다 그것을 하는 다음과 같은? 나 그것은 나쁜 생각 및 난 그냥 사용 onetoone 관계와도 같다. 또 어쩌면 일부는 더 나은 솔루션에서 데이터베이스 구조입니다. 또한 그것이 수 있도록하는 것이 중요하다 쉽게 각도 응용 프로그램을 쉽게 액세스 벌목으로 데이터에서 인증을 관리하기 다른 속성에서 클라이언트/RepairShop 테이블

나는 생각한 문제가 여기에 거짓말에 저장소 내 config 러하지 않았습니다.

당신은 무엇을 생각할까요?

hibernate inheritance java spring
2021-11-23 23:33:24
1

최고의 응답

0

에서 보면 클라이언트->인증 및 repairship->auth 관계에서 새 관점 그것은 관계보다는 relatioship. 그래서,onetoone 최선의 방법은 지도니다.

@Entity 
public class Client extends Auth{
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long idClient;
    ...
    @ManyToOne
    private RepairShop repairShop;
    @OneToOne
    @JoinColumn(name="idauth")
    private Auth auth;

수리 쇼핑

@Entity
    public class RepairShop extends Auth{
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Long idRepairShop;
        ...
        @OneToMany(cascade = CascadeType.ALL, mappedBy = "repairShop")
        private Set<Client> clients;
        @OneToOne
        @JoinColumn(name="idauth")
        private Auth auth;
2021-11-24 01:21:24

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................