List<EmailMaster> result = null;
EntityManager eManager = getEntityManager();
Query query = eManager.createNamedQuery("EMAIL_MASTER_BYSTATUS");
query.setParameter(1, "0");
result = query.getResultList();----here no problem why
System.out.println("EMAIL_MASTER_BYSTATUS :" + result.size());
当我迭代类型转换时出现错误
EmailMaster em = emIterator.next();
只有当我把它放在em中时才会出现问题。
mapping.xml
<named-native-query name="EMAIL_MASTER_BYSTATUS">
<query >SELECT * FROM RDT_EMAIL_MASTER WHERE STATUS = ?</query>
</named-native-query>
答案 0 :(得分:1)
你应该定义结果类。看这里 http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querysql.html
<resultset name="personAddress">
<return alias="person" class="eg.Person"/>
<return-join alias="address" property="person.mailingAddress"/>
</resultset>
<sql-query name="personsWith" resultset-ref="personAddress">
SELECT person.NAME AS {person.name},
person.AGE AS {person.age},
person.SEX AS {person.sex},
address.STREET AS {address.street},
address.CITY AS {address.city},
address.STATE AS {address.state},
address.ZIP AS {address.zip}
FROM PERSON person
JOIN ADDRESS address
ON person.ID = address.PERSON_ID AND address.TYPE='MAILING'
WHERE person.NAME LIKE :namePattern
</sql-query>