title: Spring Data JPA repository methods don't recognize property names with underscores
body: <p>I have underscores in the entity property names, and when Spring tries to create the JPA repository implementation, it results in an exception trying to resolve the name of the property. </p>
  
  <p>Entity:</p>
  
  <pre><code>@Entity
  public class Student {
        @Id
        private String s_id;
        private String s_name;
        ...
  }
  </code></pre>
  
  <p>Repository:</p>
  
  <pre><code> @Repository
   @Transactional
   public interface StudentRepository extends CrudRepository&lt;Student, String&gt; {
  
         List&lt;Student&gt; findByS__name(String name);
  
  }
  </code></pre>
  
  <p>Exception:</p>
  
  <pre><code>org.springframework.data.mapping.PropertyReferenceException: 
  No property s found for type Student
  </code></pre>
  
  <p>It is said here <a href="http://docs.spring.io/spring-data/jpa/docs/current/reference/html/" rel="noreferrer">http://docs.spring.io/spring-data/jpa/docs/current/reference/html/</a></p>
  
  <blockquote>
    <p>If your property names contain underscores (e.g. first_name) you can
    escape the underscore in the method name with a second underscore. For
    a first_name property the query method would have to be named
    findByFirst__name(…).</p>
  </blockquote>
  
  <p>I just did as document said, but I still got the exception.
  I dont want write <code>@Query</code> by myself, and I need underscore in my property name, how to fix this problem?</p>
  
  <p>I use Spring data jpa 1.8.0.RELEASE +  hibernate 4.3.9.Final</p>