Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Spring Data z Mysql JSON typem

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ć.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wybierz zapytanie za pomocą warunku

  2. poprawić wydajność klauzuli LIKE

  3. Zapytanie SQL działa w konsoli, ale nie w pythonie

  4. BŁĄD:Błąd instalacji mysql2:BŁĄD:Nie udało się zbudować rozszerzenia natywnego gem

  5. Wyjaśnienie MySQL ISNULL()