2016-07-28 23 views
0

Ich lerne JavaEE und suche nach Hilfe. Ich versuche, alle Datensätze aus einer Derby-DB-Tabelle auf einer xhtml-Seite (dataTable) anzuzeigen. Ich habe diesen Fehler erhalten "java.lang.ClassCastException: java.util.Vector kann nicht in java.util.ArrayList umgewandelt werden".java.lang.ClassCastException: java.util.Vector kann nicht in java.util.ArrayList umgewandelt werden

  1. Kann jemand den Fehler erklären und wie ich es beheben muss?
  2. Wie kann ich die Datentabelle auslösen, die nur angezeigt wird, wenn die Schaltfläche "Drucken" angeklickt wird? Vielen Dank im Voraus

Meine benannte Abfrage:

NamedQueries ({ @NamedQuery (name = "getAllItemActivities", query = "select c von LibraryItemActivity c") })

Mein Bean-Manager:

private ArrayList-Aktivitäten;

public Arraylist getActivities() {

return control.getActivites(); 

}

Meine Steuer Bohne:

public Arraylist getActivites() {

ArrayList<LibraryItemActivity> temp = (ArrayList<LibraryItemActivity>) em.createNamedQuery("getAllItemActivities").getResultList(); 

    return temp; 

}

Meine html Datentabelle:

<h:form> 
    <h:commandButton value = "Print"></h:commandButton> 
    <h:dataTable value = "#{libraryBeanManager.activities}" var = "a"> 
     <h:column> 
      <f:facet name="header">Book Title:</f:facet> 
      #{a.libraryitemtitle} 
     </h:column> 
     <h:column> 
      <f:facet name="header">Author:</f:facet> 
      #{a.patron} 
     </h:column> 
     <h:column> 
      <f:facet name="header">Publisher:</f:facet> 
      #{a.activitytype} 
     </h:column> 
    </h:dataTable> 
</h:form> 

Antwort