Hey,
I tried to project on a collection field however, objectify keeps throwing errors. The following is my testing code
\\======================
@Entity
@Cache
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Trivial implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private Long id;
@Index
private String someString;
@Index
private long someNumber;
@Index
private List<String> names;
/** Constructor to use when autogenerating an id */
public Trivial(String someString, long someNumber) {
this(null, someString, someNumber, Arrays.asList("a","b"));
}
public Trivial(Long id, String someString, long someNumber) {
this(id, someString, someNumber, Arrays.asList("a","b"));
}
}
\\======================
void simpleProjectionWorks() throws Exception {
factory().register(Trivial.class);
final Trivial triv = new Trivial(123L, "foo", 12, Arrays.asList("Perter", "Smith"));
ofy().save().entity(triv).now();
ofy().clear();
final List<Trivial> projecteds = ofy().load().type(Trivial.class).project("names").list();
assertThat(projecteds).hasSize(1);
}
I expect projecteds has a size of 1 but it always returns empty list. I hope it works with Objectify 5.+. The modified test code is pull out from the repos' master (Objectify 6.+ )
Have I missed anything? Is it possible to do such projection?
thank you
Jerry