sql >> Databáze >  >> RDS >> Mysql

Spring Data s typem Mysql JSON

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.




  1. Jak v oracle změním svou relaci tak, aby zobrazovala UTF8?

  2. MySQL-db lib pro Python 3.x?

  3. Přerušované JDBC prasklé potrubí a porucha spojení

  4. Uložit pole mysql php