e.g.
public class Student {
@QuerySqlField(index=true)
int id;
@QuerySqlField
String name ;
@QuerySqlField
LocalDateTime dob;
@QuerySqlField
LocalDate dos;
@QuerySqlField
Map<String, List<Serializable>> map = new HashMap<>();
....
}
Now you can do something like this.
Ignite ignite = Ignition.start("examples/config/example-ignite.xml");
CacheConfiguration<Integer, Student> config = new
CacheConfiguration<>("mycache");
config.setIndexedTypes(Integer.class, Student.class);
IgniteCache<Integer, Student> cache = ignite.getOrCreateCache(config);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd
H:mm");
LocalDateTime time1= LocalDateTime.now();
String s = time1.format(formatter);
LocalDateTime time = LocalDateTime.parse(s, formatter);
Map<String, List<Serializable>> map = new HashMap<>();
map.put("Key1", Arrays.asList(new Serializable[]{"value1", "value2"}));
Student s1 = new Student(time, 1, "joe",time.toLocalDate(),map);
Student s2 = new Student(time, 2, "Lee",time.toLocalDate(),map);
cache.put(s1.getId(), s1);
cache.put(s2.getId(), s2);
SqlQuery<Integer, Student> query = new SqlQuery<>(Student.class,
"select *
from student where dos =?");
query.setArgs(time.toLocalDate());
List<Student> list =
cache.query(query).getAll().stream().map(Cache.Entry::getValue).collect(Collectors.toList());
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/