sql >> データベース >  >> RDS >> Mysql

MysqlJSONタイプのSpringデータ

    SpringDataによるとドキュメント付録D:リポジトリクエリの戻りタイプ 、サポートされているタイプは、void、プリミティブ、ラッパータイプ、T、イテレーター、コレクション、リスト、オプション、ストリーム、フューチャー、CompletableFuture、ListenableFuture、スライス、ページ、GeoResult、GeoResults、GeoPageのみです。

    ご覧のとおり、現時点ではサポートされていません。その背後にある考え方の1つは、まだすべてのデータベースの常識ではないと思います。

    明らかに、このストレージをJsonとして使用し、そのコンバーターを作成できます:

      @Column(name = "configuration", nullable = false)
      @Convert(converter = PluginAnalyzerConfigConverter.class)
      private PluginAnalyzerConfig configuration;
    

    および:

    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);
      }
    }
    

    明らかに、そのアプローチがなければ、MySQLのようにJsonをうまく利用することはできません。しかし、それを利用するためにMySQL専用のクエリを作成すれば、問題はないと思います。




    1. 誰かがビデオをアップロードしたときの通知

    2. DBテストデータを生成する方法

    3. 挿入を作成...Laravelでステートメントを選択

    4. VPS/専用サーバーでPostgreSQLを入手する方法