私はいくつかのドメインオブジェクトがあります。春データドメインオブジェクトの継承とジェネリックメソッドは
@Entity
public class Log {
}
@Entity
public class LogLetter extends Log {
}
@Entity
public class LogAction extends Log {
}
をし、私は私がログのチャイルズを取得することができますのみ1つのリポジトリを持っていると思います。
私はteoretically何かこのようなことができますか?
List<LogLetter> logLetters = getLog(LogLetters.class);
は、私が説明したものを行うために、他のアプローチを存在します。
public interface LogRepository extends CrudRepository<Log, Long> {
@Query("select from ?1)
public <T> List<T> getLog(Class<T> clazz);
}
と、このメソッドを呼び出しますか?
なぜあなたは単に 'LogLetterRepository'と' LogActionRepository'を作成していないのだろうか?彼らは安く、 'findAll'を無料で入手できます。 –
これらの2つのドメインオブジェクトは一例にすぎず、実際にはこれらのオブジェクトが15個あり、すべてのドメインオブジェクトに対して新しいリポジトリを作成することはあまり優雅ではありません。 –