У меня есть Spring Data Repository
над одним объектом JPA. Этот объект подклассифицирован через объединенное наследование.
Spring У данных REST есть проблема, интерпретирующая эту структуру, по крайней мере автоматически. Или, может быть, я не понимаю использование Inheritance.JOINED
Любой запрос для любого объекта с Event
возвращает следующее:
{
cause: null,
message: "Cannot create self link for class com.foo.event.SubEvent! No persistent entity found!"
}
Возможно, я слишком много прошу, чтобы этот проект знал, как с этим справиться, но есть ли способ обхода, который бы сгруппировал все мои Events
под тем же /events
? Может быть, даже разрешить мне фильтровать по типу?
Я оставил основы структуры приложения ниже.
Event.java
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@JsonTypeInfo(use = Id.NAME, include = As.PROPERTY, property = "type")
@JsonSubTypes({
@Type(value = SubEvent.class),
...
})
...
public class Event {
@Id
private long id;
...
}
SubEvent.java
@Entity
public class SubEvent extends Event {
private String code;
...
}
EventRepository.java
@RepositoryRestResource(path = "events")
public interface EventRepository extends PagingAndSortingRepository<Event, Long> {
...
}