java.lang.ClassCastException: java.lang.Integer cannot be cast to com.user
at com.data.StatisticsManager.executeTopRatingQuery(StatisticsManager.java:507)
at com.data.StatisticsManager.getStatWeekly(StatisticsManager.java:364)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdapter.java:421)
at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:183)
at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1495)
at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:882)
at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:121)
at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:158)
at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:44)
at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)
at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:146)
at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:278)
at flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java:315)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardC
this is the part of the stack trace...
the function where i execute this query is
private List<TopEntry> executeTopRatingQuery(User user, Query query, int start, int max) {
List<TopEntry> result = new ArrayList<TopEntry>();
if (user == null) {
query.setFirstResult(start);
query.setMaxResults(max*2);
}
for (Object[] row : (List<Object[]>)query.getResultList()) {
TopEntry entry = new ToplistEntry(((User)row[0]).toPlayer(), getIntValue(row[1]), -1);
}
and the other function is
public List<TopEntry> getStatWeekly(int start, int max, User user) {
String TABLE = "weekly";
EntityTransaction tx = em.getTransaction();
try {
tx.begin();
Query query = em.createNativeQuery(NATIVE_QUERY_WEEKLY.replaceFirst("\\?1", TABLE), "UserMapOne");
return executeTopRatingQuery(user, query, start, max);
}
finally {
if (tx.isActive())
tx.rollback();
}
}
finally the query is
public static final String NATIVE_QUERY_WEEKLY =
"select us.*, in_week as val from ?1 v, user us " +
"where v.user_id = us.id and us.disabled = 0 " +
"order by in_week desc, us.username";