1

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

0 Answers0