title: What does an underscore concatenated to a class name mean?
body: <p>I was reading the <a href="http://www.ibm.com/developerworks/java/library/j-typesafejpa/" rel="noreferrer">"Dynamic, typesafe queries in JPA 2.0"</a> article and stumbled upon this example:</p>
  
  <pre><code>EntityManager em = ...
  CriteriaBuilder qb = em.getCriteriaBuilder();
  CriteriaQuery&lt;Person&gt; c = qb.createQuery(Person.class);
  Root&lt;Person&gt; p = c.from(Person.class);
  Predicate condition = qb.gt(p.get(Person_.age), 20);
  //                                     ^^ --- this one
  c.where(condition);
  TypedQuery&lt;Person&gt; q = em.createQuery(c); 
  List&lt;Person&gt; result = q.getResultList();
  </code></pre>
  
  <p>I was wondering, what exactly does the underscore here mean? </p>
  
  <p>Since an underscore it is a valid part of a classname I don't understand why this can be used in JPA. 
  I checked this with an existing entity in my code and of course my class couldn't be resolved as <code>ClassName_</code></p>