次のクラスがあるとします。
@MappedSuperclass
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
@DiscriminatorColumn(name="animalType",discriminatorType=DiscriminatorType.STRING)
@QueryExclude
public abstract class Animal {}
@Entity
@DiscriminatorValue("dog")
public class Dog {}
@Entity
@DiscriminatorValue("cat")
public class Cat {}
JPAリポジトリを構成することは何とか可能Animal
ですか?
私はもう試した
public interface AnimalRepository extends JpaRepository<Animal,Long>
ただし、これは次の場合に失敗します。
java.lang.IllegalArgumentException: 管理型ではありません: Animal
これを設定する方法はありますか?
次のようなタスクを実行できるようにしたいと考えています。
@Autowired
private AnimalRepository repository;
public void doSomething()
{
Animal animal = repository.findById(123);
animal.speak();
}