私はすでにプロジェクトで QueryDSL を使用しており、POJO から JSON への変換をタイプセーフにするために (ab) 使用できるかどうか疑問に思っていました。現在、私は次のようなことをしています:
converter.toJson(entity, entity.getDetail(), "詳細");
これを次のように変更できればかっこいいと思いました。
QEntity q = QEntity.entity;
converter.toJson(entity, q.detail);
次に、toJsonメソッドでq.detail引数を使用してプロパティの名前を抽出し、エンティティで getter を呼び出して値を取得します。EntityPathBase.getType().getSimpleClassName()を使用し、ゲッターにリフレクションを使用して実行できるはずですが、それが QueryDSL で既に実行できることかどうか疑問に思っています。
クエリエンティティで使用でき、指定されたサンプルでプロパティ名を返すPath.getMetadata ().getName()を使用して行った結果。BeanMapと組み合わせて、プロパティ値を取得します (Timo が提案したように、ありがとう!)。これで、getter 呼び出しを文字列と同期させる必要がなくなりました。リフレクションが使用されるようになったため、メンテナンス性を向上させるためにパフォーマンスがいくらか犠牲になります。