mam zapytanie SQL w następujący sposób:ResultTransformer z createSQLQuery zmusza żadnego CamelCase w dziedzinach jednostki
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();
Mam właściwość w Pracownika nazwie imię, ale podczas próby uruchomienia powyżej dao w badanej jednostki, ja otrzymuję następujący wyjątek:
org.hibernate.PropertyNotFoundException: Could not find setter for firstname on class com.app.domain.Employee
Nie wiem, skąd pochodzi hibernacja z tej własności? Nie poprawiłem tego w moim zapytaniu? sposób obejścia tego problemu polegał na zmianie właściwości na imię, oraz na pobierających, seterach też , ale na jakichkolwiek pomysłach, dlaczego hibernacja robi takie zachowanie, i jak tego uniknąć, ponieważ chcę używać camelCase w mojej domenie, proszę doradzić .
addScalar + wybierz również w zapytaniu? –
Myślę, że tak, ponieważ tylko przy użyciu 'addScalar()' bez 'wybierz jako" da mi błędy. –