【发布时间】:2015-07-11 01:25:48
【问题描述】:
我在实体属性名称中有下划线,当 Spring 尝试创建 JPA 存储库实现时,它会导致尝试解析属性名称的异常。
实体:
@Entity
public class Student {
@Id
private String s_id;
private String s_name;
...
}
存储库:
@Repository
@Transactional
public interface StudentRepository extends CrudRepository<Student, String> {
List<Student> findByS__name(String name);
}
例外:
org.springframework.data.mapping.PropertyReferenceException:
No property s found for type Student
这里说http://docs.spring.io/spring-data/jpa/docs/current/reference/html/
如果您的属性名称包含下划线(例如 first_name),您可以 使用第二个下划线转义方法名称中的下划线。为了 必须命名查询方法的 first_name 属性 findByFirst__name(…)。
我只是按照文件说的做了,但我仍然得到了异常。
我不想自己写@Query,我的属性名需要下划线,如何解决这个问题?
我使用 Spring data jpa 1.8.0.RELEASE + hibernate 4.3.9.Final
【问题讨论】:
标签: spring-data-jpa