Hi All,
I have tried using named sql querries for mapping its resultset using hibernate to my class. For this,
1> i have created a class "Employee" having properties
empId
deptId
empName
salary
2> wrote a mapping for it in "Employee.hbm.xml" which is as follows:
<hibernate-mapping>
<class name="com.pharmquest.provantis.bean.Employee">
<id name="empId" type="int" >
<generator class="sequence"/>
</id>
<property name="deptId" type="int"/>
<property name="empName" type="string"/>
<property name="salary" type="int"/>
</class>
<sql-query name="selectEmployee">
<return alias="p" class="com.pharmquest.provantis.bean.Employee">
<return-property name="empId" column="dept_id"/>
<return-property name="deptId" column="emp_id"/>
<return-property name="empName" column="emp_name"/>
<return-property name="salary" column="salary"/>
</return>
select * from employee
</sql-query>
</hibernate-mapping>
Now the problem is whenever the result set contains only one result(query returns single row) it works fine as in resultset has correct values but if it tried to select multiple rows as in the example ("select *") the result set is having only first record as in say query returns two recors (for emp1 and emp2) but whenever i tried iterating the result set and try to display values it shows me emp1,emp1 instead of emp1,emp2.
The sequence of commands to execute this are
String qry = "selectEmployee";
SQLQuery query = (SQLQuery) session.getNamedQuery(qry);
List employees = query.list();
Please help me resolving this issues,or is it that i just can't map multiple rows.
thanx in advance.
_________________ Yuvi
|