【发布时间】:2011-12-29 11:45:55
【问题描述】:
我有一个sql查询如下:
List<Employee> employees = getCurrentSession()
.createSQLQuery(
"select"
+ e.id as id,e.first_name as firstName,e.password as password
+ "from employee e,employee_role er,role r where e.employee_id=er.employee_id and er.role_id=r.role_id and r.name='ROLE_ADMIN' ")
.setResultTransformer(Transformers.aliasToBean(Employee.class))
.list();
我在 Employee 中有一个名为 firstName 的属性,但是在单元测试中尝试在 dao 之上运行时,我收到以下异常:
org.hibernate.PropertyNotFoundException: Could not find setter for firstname on class com.app.domain.Employee
我不知道 hibernate 从这个 firstname 属性中得到什么?我的查询没有正确?
解决方法是将属性更改为名字,以及getter,setter 但是任何想法为什么hibernate会做出这种行为,以及如何避免它,因为我想在我的域中使用camelCase,请告知。
【问题讨论】:
标签: hibernate postgresql