У меня есть несколько объектов домена:
@Entity
public class Log {
}
@Entity
public class LogLetter extends Log {
}
@Entity
public class LogAction extends Log {
}
и я хочу иметь только один репозиторий, который позволяет мне получать дочерние элементы журнала.
Могу ли я теоретически сделать что-то подобное?
public interface LogRepository extends CrudRepository<Log, Long> {
@Query("select from ?1)
public <T> List<T> getLog(Class<T> clazz);
}
и вызовите этот метод:
List<LogLetter> logLetters = getLog(LogLetters.class);
Существуют ли какие-либо другие подходы к тому, что я описал?