Hibernate JPA Meta Model -- reference nested properties?

Viewed 631

Suppose an entity model where an Employee has a Supervisor who has an id. Using hibernate-jpamodelgen to generate the meta model for the entities, how can I query a nested field?

For instance, "get all employees whose supervisor has id 4", using JpaSpecificationExecutor:

Page<Employee> getEmployeesBySupervisorId(int id) {
  return findAll((root, query, criteriaBuilder) -> {
    return criteriaBuilder.equal(root.get(Employee_.supervisor.id), id);
  });
}

Note that Employee_ is the model meta class for Employee (and was generated by Hibernate).

This code will produce an error because the id symbol cannot be found on type SingularAttribute<Employee, Supervisor>. I get that, but it seems like these should somehow be chainable. I can't find great examples of how to do this cleanly.

1 Answers
Related