在Sun Online resources中,他们提供了有关 Criteria/Metamodel API 用法的子示例,但据我了解 Java,它似乎无法工作:
CriteriaQuery<Pet> cq = cb.createQuery(Pet.class);
Metamodel m = em.getMetamodel();
EntityType<Pet> Pet_ = m.entity(Pet.class);
EntityType<Owner> Owner_ = m.entity(Owner.class);
Root<Pet> pet = cq.from(Pet.class);
Join<Owner, Address> address = cq.join(**Pet_.owners**).join(**Owner_.addresses**);
Pet_
是一个类 的实例EntityType
,它没有定义任何名为owners
or的属性addresses
。
他们确实为元模型定义了名为Pet_
和的类Owner_
,但是在这里导入它们会与变量名产生冲突……我说得对吗?
__
(这个问题也与这个有关)