0

此查询提供了一个数组 ob 对象,而不是返回 Tracking 对象。

在日志中我看到: java.lang.ClassCastException: [Ljava.lang.Object; 无法转换为 com.quoka.qis.ads.web.tracking.Tracking

@NamedNativeQuery(
name = "Tracking.findByNo", 
query = "select * " +
    "from inet.TRACKING t " +
    "where t.prditmNO = ?1"
)


TypedQuery<Tracking> q = em.createNamedQuery("Tracking.findByNo", Tracking.class);
q.setParameter(1, adno);
List<Tracking> list = q.getResultList();
return list.isEmpty()?null:list.get(0);

谢谢你的帮助。

4

1 回答 1

1

您使用本机查询。您应该使用JPA查询。

 @NamedQuery( name = "Tracking.findByNo",  
              query = "select t " + 
                      "from Tracking t " +
                      "where t.prditmNO = ?1" )  
于 2012-10-18T13:59:19.100 回答