title: Hibernate implementation. Are we paying the reflection penalty?
body: <p>Long time ago, I was creating a mini ORM using reflection. </p>
  
  <p>While reading about reflection I got a similar answer like this:</p>
  
  <p><a href="https://stackoverflow.com/questions/435553/java-reflection-performance">Java Reflection Performance</a></p>
  
  <p>Which makes completely sense and I quit my mini orm and sharpen my CTRL+C, CTRL+V keys ( the lib was intended to avoid having to rewrite again and again the same snippets for different tables in a web app I was working on ) </p>
  
  <p>Years later for some  reason I don't remember now ( nor want to remeber )  I was reading (  or trying to... ) the Hibernate source code, for I wanted to know if they use AOP to generate code on the fly and avoid the reflection penalty, but for my surprise, all of what I saw was pure reflection. </p>
  
  <p>Does it mean the most accepted ORM framework out there, did exactly what years before discourage me from continuing my naive efforts ?? :")  </p>
  
  <p>My question is: Can someone confirm my understanding of the Hibernate implementation?  Do they generate bytecode on the fly to improve performance? Or are we ( when we use it ) always paying the reflection penalty ( which by the way, if the diff is in some ms, none of us have noticed nor complained about ) </p>
  
  <p>Are we paying the reflection penalty? If we are, I think it is <strong>worth it!!!</strong></p>
  
  <p>Regards.</p>