[英]Why Named Native Query in JPA gives Type Cast Exception
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());
when I am iterating typecast error comes 当我迭代类型转换错误时
EmailMaster em = emIterator.next();
problem only comes when I am putting that in em. 问题只有在我将其放入em中时才会出现。
mapping.xml mapping.xml
<named-native-query name="EMAIL_MASTER_BYSTATUS">
<query >SELECT * FROM RDT_EMAIL_MASTER WHERE STATUS = ?</query>
</named-native-query>
YOu should define result class. 您应该定义结果类。 See here http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querysql.html
看到这里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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.