Репозиторий данных Spring с несколькими сущностями - PullRequest
1 голос
/ 20 июня 2020

У меня есть 2 объекта согласно следующему коду, которые имеют отношения один-к-одному.

    @Entity
    public class Student
    {
        
        @Id
        @GeneratedValue
        private long id;
        
        private String name;
        
        @OneToOne( fetch = FetchType.LAZY )
        private Passport passport;
        
    }


    @Entity
    public class Passport
    {

        @Id
        @GeneratedValue
        private long id;

        private String number;

        @OneToOne( fetch = FetchType.LAZY, mappedBy = "passport" )
        private Student student;

}

Нужно ли мне создавать два репозитория данных Spring для хранения паспорта и ученика?
Или там лучшее решение?

1 Ответ

1 голос
/ 20 июня 2020

Да. Обычно хорошей практикой является определение одного Data-Access-Object (репозитория) для каждого типа сущности в вашей модели. сопоставленный суперкласс ' BaseEntity, имеющий идентификатор и временную метку создания, и создать репозиторий для этого базового объекта. Затем все остальные объекты могут расширяться из этого репозитория, и все они получают доступ к общим методам, таким как findById(Long id).

...