Theo Dữ liệu mùa xuân Phụ lục D của Tài liệu:Các kiểu trả về truy vấn kho lưu trữ , các loại được hỗ trợ duy nhất là:void, nguyên thủy, Wrapper type, T, Iterator, Collection, List, Optional, Stream, Future, CompletableFuture, ListenableFuture, Slice, Page, GeoResult, GeoResults, GeoPage.
Như bạn có thể thấy, hiện tại, nó không được hỗ trợ. Một trong những ý tưởng đằng sau nó mà tôi nghĩ rằng đó chưa phải là ý thức chung của tất cả các cơ sở dữ liệu.
Rõ ràng, bạn có thể sử dụng bộ lưu trữ này dưới dạng Json và tạo bộ chuyển đổi cho nó:
@Column(name = "configuration", nullable = false)
@Convert(converter = PluginAnalyzerConfigConverter.class)
private PluginAnalyzerConfig configuration;
và:
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);
}
}
Rõ ràng rằng nếu không có cách tiếp cận đó, bạn sẽ không sử dụng Json một cách tốt đẹp như MySQL có thể làm được. Nhưng tôi nghĩ rằng không có vấn đề gì nếu bạn tạo các truy vấn chuyên biệt MySQL để tận dụng nó.