Что было бы лучше для следующего случая?
У вас есть следующие объекты:
@Entity public class BaseEntity { }
@Entity public class SubEntity extends BaseEntity { }
И у вас есть JpaRepository для BaseEntity с несколькими методами выбора:
public interface BaseEntityRepository extends JpaRepository<BaseEntity, Long> {
Set<BaseEntity> findAll();
Set<BaseEntity> findSome...();
}
Теперь вам нужен JpaRepository для SubEntity, наследующий все методы от BaseEntityRepository.
Теперь я представляю несколько сценариев ios, из которых я не уверен, какой из них лучший или какие должно работать:
(a) Создать новый независимый JpaRepository для SubEntity с точно такими же методами, но заменив BaseEntity на SubEntity:
public interface SubEntityRepository extends JpaRepository<SubEntity, Long> {
Set<SubEntity> findAll();
Set<SubEntity> findSome...();
}
(b) Расширяя BaseEntityRepository, все методы должны быть наследуется, но все равно возвращает BaseEntity-объекты вместо SubEntity-объектов
public interface SubEntity extends BaseEntityRepository {
}
Мне не очень нравится ни одно из обоих решений. Как бы вы решили это?
Каким-то образом я думаю, что JpaRepository не подходит для этого варианта использования?