"The following code snippet shows how to obtain the Pet entity’s metamodel class by calling Root.getModel:
EntityManager em = ...;
Root pet = cq.from(Pet.class);
EntityType Pet_ = pet.getModel();"
Pet is the CANONICAL static metamodel and does NOT implement EntityType. This is utterly wrong. You get Pet by statically referring to it, and it is generated by an annotation processor.
The same tutorial even has
@Static Metamodel(Pet.class)
public class Pet_
{ public static volatile SingularAttribute<Pet, Long> id; public static volatile SingularAttribute<Pet, String> name; public static volatile SingularAttribute<Pet, String> color; public static volatile SetAttribute<Pet, Owner> owners; }
so it says Pet_ does not implement EntityType (and indeed is nothing to do with it).
This should be FIXED ASAP, or you will utterly confuse people
(original issue: https://github.com/eclipse-ee4j/jpa-api/issues/121)
See this page https://docs.oracle.com/javaee/6/tutorial/doc/gjiup.html
It says
"The following code snippet shows how to obtain the Pet entity’s metamodel class by calling Root.getModel:
EntityManager em = ...;
Root pet = cq.from(Pet.class);
EntityType Pet_ = pet.getModel();"
Pet is the CANONICAL static metamodel and does NOT implement EntityType. This is utterly wrong. You get Pet by statically referring to it, and it is generated by an annotation processor.
The same tutorial even has @Static Metamodel(Pet.class) public class Pet_
{ public static volatile SingularAttribute<Pet, Long> id; public static volatile SingularAttribute<Pet, String> name; public static volatile SingularAttribute<Pet, String> color; public static volatile SetAttribute<Pet, Owner> owners; }
so it says Pet_ does not implement EntityType (and indeed is nothing to do with it).
This should be FIXED ASAP, or you will utterly confuse people