Menurut Data Musim Semi Dokumen Lampiran D:Jenis pengembalian kueri repositori , satu-satunya tipe yang didukung adalah:void, primitif, tipe Wrapper, T, Iterator, Collection, List, Optional, Stream, Future, CompletableFuture, ListenableFuture, Slice, Page, GeoResult, GeoResults, GeoPage.
Seperti yang Anda lihat, untuk saat ini, itu tidak didukung. Salah satu ide di baliknya, menurut saya, ini belum masuk akal untuk semua basis data.
Jelas, Anda dapat menggunakan penyimpanan ini sebagai Json, dan membuat konverter untuknya:
@Column(name = "configuration", nullable = false)
@Convert(converter = PluginAnalyzerConfigConverter.class)
private PluginAnalyzerConfig configuration;
dan:
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);
}
}
Jelas bahwa tanpa pendekatan itu, Anda tidak akan menggunakan Json dengan cara yang baik seperti yang dapat dilakukan oleh MySQL. Tapi saya pikir tidak ada masalah jika Anda membuat kueri khusus MySQL untuk menggunakannya.