Zgodnie z Dane wiosenne Dokumenty Dodatek D:Typy zwracanych zapytań repozytorium , jedynymi obsługiwanymi typami są:void, primitives, Wrapper types, T, Iterator, Collection, List, Optional, Stream, Future, CompletableFuture, ListenableFuture, Slice, Page, GeoResult, GeoResults, GeoPage.
Jak widać, na razie nie jest obsługiwany. Myślę, że jeden z pomysłów, który za tym stoi, nie jest jeszcze zdrowym rozsądkiem wszystkich baz danych.
Oczywiście możesz użyć tego przechowywania jako Json i utworzyć dla niego konwerter:
@Column(name = "configuration", nullable = false)
@Convert(converter = PluginAnalyzerConfigConverter.class)
private PluginAnalyzerConfig configuration;
i:
public class PluginAnalyzerConfigConverter implements
AttributeConverter<PluginAnalyzerConfig, String> {
@Override public String convertToDatabaseColumn(PluginAnalyzerConfig config) {
Gson parser = new Gson();
return parser.toJson(config, PluginAnalyzerConfig.class);
}
@Override public PluginAnalyzerConfig convertToEntityAttribute(String source) {
Gson parser = new Gson();
return parser.fromJson(source, PluginAnalyzerConfig.class);
}
}
Oczywiście bez tego podejścia nie będziesz używał Json w tak przyjemny sposób, jak to jest w stanie MySQL. Ale myślę, że nie ma problemu, jeśli utworzysz specjalistyczne zapytania MySQL, aby z niego skorzystać.