Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Spring Data dengan tipe MySQL JSON

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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JSON_SET() vs JSON_INSERT() vs JSON_REPLACE() di MySQL:Apa Bedanya?

  2. Kasus Peta satu-ke-banyak yang paling sederhana di Hibernate tidak berfungsi di MySQL

  3. Di mana perbedaan menggunakan database XML dan MySQL? Yang mana yang harus saya gunakan?

  4. Beberapa kursor dalam loop bersarang di MySQL

  5. Cara Mengaktifkan Log Kueri Lambat di AWS RDS MySQL