Podle jarní data Dokumenty Dodatek D:Typy návratových dotazů úložiště , jediné podporované typy jsou:void, primitives, Wrapper types, T, Iterator, Collection, List, Optional, Stream, Future, CompletableFuture, ListenableFuture, Slice, Page, GeoResult, GeoResults, GeoPage.
Jak vidíte, prozatím to není podporováno. Jedna z myšlenek, která za tím stojí, si myslím, že to ještě není selský rozum všech databází.
Je zřejmé, že toto ukládání můžete použít jako Json a vytvořit pro něj převodník:
@Column(name = "configuration", nullable = false)
@Convert(converter = PluginAnalyzerConfigConverter.class)
private PluginAnalyzerConfig configuration;
a:
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);
}
}
Je zřejmé, že bez tohoto přístupu nevyužijete Json tak, jak to umí MySQL. Ale myslím, že není žádný problém, pokud vytvoříte specializované dotazy pro MySQL, abyste toho využili.