私はSpringデータMongoDB管理エンティティを持ち、そのサブコレクション内に要素のリストを格納しています。 Spring MVCを介してこのエンティティのサブセットのみを返すために、私はprojectionsを使ってデータオブジェクトのビューをカスタマイズしています。SpEL:マップするリスト要素の投影
私のセットアップ視覚化するための単純化されたサンプル:ユーザー・ビーイングと
@Getter
@Setter
@Document(collection = "test")
public class CompanyEntity {
@Id
private String id;
private List<Employee> employees;
...
}
を:
@Getter
@Setter
public class Employee {
private String id;
private String name;
...
}
ビューはこのように見えるシンプルなインターフェイスである:私は「ながら
public interface CompanyView {
String getId();
@Value("#{target.employees.![name]}")
List<String> getEmployeeNames();
}
直接#{target.employees.![name]}
経由で従業員の名前を直接リストに投影することができますemployee.id
をキーに使用し、employee.name
を値として使用して、現在のコードをマップに置き換えようとすると何とか失われました。
これも可能ですか、それともcustom functionと書く必要がありますか?