Pracuję nad udostępnieniem moich repozytoriów danych wiosennych za pomocą SDR. Kiedy przejść do mego odpoczynku URL (http://localhost:8080/trxes), pojawia się błąd: { „przyczyna”: null, „message”: „PersistentEntity nie musi być null!”}Błąd Spring Data Rest (SDR): PersistentEntity nie może mieć wartości null
Przy bliższym zbadaniu źródła danych wiosennej widzę, że metoda getRepositoryFactoryInfoFor() zwraca pusty repozytorium informacji tj
private RepositoryFactoryInformation<Object, Serializable> getRepositoryFactoryInfoFor(Class<?> domainClass) {
Assert.notNull(domainClass, "Domain class must not be null!");
RepositoryFactoryInformation<Object, Serializable> repositoryInfo = repositoryFactoryInfos.get(ClassUtils
.getUserClass(domainClass));
return repositoryInfo == null ? EMPTY_REPOSITORY_FACTORY_INFO : repositoryInfo;
}
prawdopodobną przyczyną mój problem jest, że moje uporczywe podmioty dziedziczyć z jednej klasy bazowej, a ja jestem przy użyciu pojedynczej tabeli strategię następująco :
istnieje tabela TRX w bazie danych z matą ching Trx Class. VariableIncome, VariableExpense, FixedIncome i FixedExpense all dziedziczą z Trx i przechodzą do tabeli TRX.
@Entity
@Table(name = "TRX")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "TRX_TYPE", discriminatorType = DiscriminatorType.STRING)
abstract public class Trx extends AbstractPersistable<Long> {
Wszystkie podklasy wyglądać podobnie do VariableIncome pokazano poniżej:
@Entity
@DiscriminatorValue("VARIABLE_INCOME")
public class VariableIncome extends Trx {
Moje repozytorium konfiguracja jest (brak adnotacji o tej klasie):
public interface TrxRepository extends CrudRepository<Trx, Long> {
biegnę opisanej konfiguracji za pomocą:
@SpringBootApplication
public class RestApplication {
public static void main(String[] args) {
SpringApplication.run(RestApplication.class, args);
}
}
Zgaduję, czego szukam, czy jest jakiś sposób poinformowania SDR (kiedy próbuje wywnioskować, co są moje trwałe klasy), że wszystkie podklasy powinny odwzorować z powrotem na Trx?
Poddałem się i postanowiłem najpierw pobrać dane z repozytorium, a następnie "ręcznie" przekonwertować je do JSON. –
czy otrzymałeś jakieś rozwiązanie? jeśli tak, opublikuj na: http: //stackoverflow.com/questions/33538426/spring-data-rest-sdr-bug-persistent-entity-must-not-be-null –