I want to build a dynamic query using CriteriaBuilder.For that reason i want to get metamodel class name and field at runtime. I have a metamodel class
@javax.persistence.metamodel.StaticMetamodel(Invoice.class)
public class Invoice_ {
public static volatile SingularAttribute<Invoice,Integer> invNo;
public static volatile SingularAttribute<Invoice, String> custCode;
public static volatile SingularAttribute<Invoice,String> billPrdfr;
public static volatile SingularAttribute<Invoice,String> billPrdto;
public static volatile SetAttribute<Invoice,Date> issDate;
}
and I am buildin a query like this
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
cb.gt(r.get(Invoice_.invNo), (Number) value);
Now you can see i have used an metamodel class Invoice_ in this query.I want to use this metamodel class dynamically like
cb.gt(r.get(MetaModelClass_.fieldname), (Number) value);
Now how can i get metamodel class at runtime so that i can make the query at runtime