Interpreter-Fehler ClassCastException wird bei Schleifenaufruf geworfen

Fabulus

Mitglied
Hallo Community,

ich habe hier folgenden Code:
Java:
@Override
	public List<MarkerDTO> getMarkers() {
		
		Session session = HibernateUtil.getSessionFactory().openSession();
		Transaction transaction = null;
		
		List<MarkerDTO> markerDTOs = null;
		try {
			
			transaction = session.beginTransaction();
			
			@SuppressWarnings("unchecked")
			List<Marker> marker = new ArrayList<Marker>(
					session.createSQLQuery("SELECT * FROM MARKER").list());
			
			markerDTOs = new ArrayList<MarkerDTO>(
					marker != null ? marker.size() : 0);
			
			if(marker != null ) {
				for(Marker m : marker) {
					markerDTOs.add(createMarkerDTO(m));
				}
			}
			
			transaction.commit();
			
		} catch(HibernateException e) {
			transaction.rollback();
			Window.alert(e.getMessage());
			markerDTOs = new ArrayList<MarkerDTO>(0);
		} finally {
			session.close();
		}
		
		return markerDTOs;
	}

Die Methode ist eine Methode in einer ServiceImpl-Klasse bei einem Datenbankaufruf mit Hibernate in Verbindung mit GWT.

In der Zeile
Java:
for(Marker m : marker) {
wird eine ClassCastException geworfen.
Marker und MarkerDTO sind zwei von mir geschrieben Klassen im package com.lumbeck.domain (Marker) und com.lumbeck.client.dto (MarkerDTO).

Ich halte mich dabei an dieses Tutorial und habe die Klassen analog übertragen.

Die Exception ist:
Code:
 java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.lumbeck.domain.Marker
	at com.lumbeck.server.MapsServiceImpl.getMarkers(MapsServiceImpl.java:121)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
	... 21 more

Jemand Ideen, warum die Exception geworfen wird?
 
Zuletzt bearbeitet von einem Moderator:

Fabulus

Mitglied
Ah ok, mein Objekt Marker besteht aus zwei Attributen vom Datentyp java.lang.Long und com.lumbeck.domain.Punkt, dann müsste ich beim SQL-Statement noch ein .addEntity(Punkt.class) und .addEntity(Long.class) anhängen? (Wenn ich es richtig verstehe, was hier steht: Chapter 16. Native SQL )
 

tfa

Top Contributor
Am besten wäre es, wenn du für deine Marker-Klasse ein vernünftiges Hibernate-Mapping schreibst und dann die Criteria-API verwendest.
 

Fabulus

Mitglied
Ah, die Criteria API kannte ich noch nicht!
Die Marker- und Punkt-Klassen habe ich mir mit dem Hibernate Tool erstellen lassen, habe vorher die hbm.xml-Datei dazu geschrieben.

Um das Ganze noch einfacher zu machen, möchte ich jetzt einfach mal alle Objekte der Klasse "Punkt" von mir aus der Tabelle holen (es ist bisher 1 Reihe in der Tabelle vorhanden)

Die Klasse Punkt hatte folgendes Mapping:
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 15.02.2012 08:18:11 by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
    <class name="com.lumbeck.domain.Punkt" table="PUNKT">
        <id name="id" type="java.lang.Long">
            <column name="ID" />
            <generator class="assigned" />
        </id>
        <property name="longitude" type="double">
            <column name="LONGITUDE" />
        </property>
        <property name="latitude" type="double">
            <column name="LATITUDE" />
        </property>
    </class>
</hibernate-mapping>

So, und mit einer Criteria möchte ich nun diese Punkte aus der DB holen.

Das habe ich mit
Java:
			Criteria crit = session.createCriteria(Punkt.class);
			List<Punkt> punkte = crit.list();

gemacht, die Liste ist aber dennoch leer.
Ich habe die SQL-Ausgabe in der Konfiguration aktiviert, die Ausgabe ist:
Code:
Hibernate: select this_.ID as ID1_0_, this_.LONGITUDE as LONGITUDE1_0_, this_.LATITUDE as LATITUDE1_0_ from PUNKT this_

Ah eine Frage dazu dann auch: Muss ich den dialect ändern bzw hat das irgendwas damit zu tun? Momentan steht der auf MySQL-dialect, weil ich eine MySQL-DB benutze.
 
Zuletzt bearbeitet:

tfa

Top Contributor
Dann versteh ich nicht, warum eine leere Liste zurück kommt. Wenn es keine Exceptions gibt und die SQL-Query korrekt ist, sollte es eigentlich klappen.
 

Fabulus

Mitglied
Hm, komisch, Habe mal mit phpMyAdmin manuell eine Reihe hinzugefügt und die kann geladen werden. Stimmt wohl was beim Speichern nicht ganz.

Es war übrigens mein Fehler, ich habe eben den Tomcat-Server neugestartet und danach waren anscheinend die Tabellen nicht mehr da, warum auch immer...

Edit:
property "hbm2ddl.auto" stand auf create, das bedeutet, bei jedem Applikationsstart werden die Tabellen neu erstellt?
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
L ClassCastException (JavaMail API) Allgemeine Java-Themen 3
P ClassCastException bei Verwendung eines Interfaces Allgemeine Java-Themen 7
G ClassCastException Allgemeine Java-Themen 17
A Vererbung Klassen-Downcasting wirft ClassCastException Allgemeine Java-Themen 2
S OOP ClassCastException bei casting von eigener Klasse aus Iterator Allgemeine Java-Themen 3
T java.lang.ClassCastException: Allgemeine Java-Themen 4
C java.lang.ClassCastException Allgemeine Java-Themen 3
T java.lang.ClassCastException Allgemeine Java-Themen 7
SuperSeppel13 ClassCastException Allgemeine Java-Themen 6
W java.lang.ClassCastException Allgemeine Java-Themen 10
H setWrappedData -> classcastexception Allgemeine Java-Themen 2
G java.lang.ClassCastException Allgemeine Java-Themen 3
G Dubiose ClassCastException in typisierter Map Allgemeine Java-Themen 4
B ClassCastException Allgemeine Java-Themen 2
V ClassCastException bei ArrayList Allgemeine Java-Themen 5
R ClassCastException Allgemeine Java-Themen 14
S Problem mit generics -> ClassCastException und ka wieso Allgemeine Java-Themen 20
B ClassCastException Allgemeine Java-Themen 17
S classCastException Allgemeine Java-Themen 4
S ClassCastException beim Casten in eine Klasse Allgemeine Java-Themen 7
N Lwjgl 3d Objekt wird schmaler, wenn es sich dreht Allgemeine Java-Themen 0
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
berserkerdq2 Wenn ich einfach eine GIF in den Scenebuilder als Bild reinpacke, wird das dann asl Gif angezeigt Allgemeine Java-Themen 1
G Popup wird nicht sichtbar Allgemeine Java-Themen 9
8u3631984 Funktions Parameter mit Lombok "NonNull" annotieren wird in Jacococ Testcoverage nicht herausgefiltert Allgemeine Java-Themen 3
M Java Überprüfen ob .exe-Datei bereits ausgeführt wird Allgemeine Java-Themen 2
Calli11 Was muss ich hier in die Main schreiben, damit das Programm ausgeführt wird? Allgemeine Java-Themen 4
Sachinbhatt Wie wird die Typumwandlung bei Mehrfachvererbung in Java implementiert? Allgemeine Java-Themen 3
Y MVVM wie wird Eventhandler tausch geregelt Allgemeine Java-Themen 4
berserkerdq2 run-methode eines Threads so programmieren, dass 30x die Sekunde etwas ausgeführt wird. Allgemeine Java-Themen 44
T ImageIcon wird nicht angezeigt Allgemeine Java-Themen 6
N Warum wird die For Schleife nicht betreten Allgemeine Java-Themen 4
N warum wird es doppelt ausgegeben Allgemeine Java-Themen 6
A code wird nicht ausgeführt Allgemeine Java-Themen 3
Y Warum wird das JLabel falsch verschoben? Allgemeine Java-Themen 1
T Schaltfläche wird nicht gefunden Allgemeine Java-Themen 4
N Eingabe wird immer als "false" ausgegeben Allgemeine Java-Themen 6
D Firebase retrieve data Problem, Child Element wird nicht angesprochen Allgemeine Java-Themen 0
M Frage-Antwortspiel wie Wer wird Millionär Allgemeine Java-Themen 1
Zrebna Gibt es eine Möglichkeit eine NPE zu vermeiden, wenn null returned wird? Allgemeine Java-Themen 3
R Warum wird mir in der Konsole das "Standard Array" ausgegeben? Allgemeine Java-Themen 2
C FileLock - Exception wird immer geworfen Allgemeine Java-Themen 4
R Was muss ich ändern, damit der Kreis links unten gezeichnet wird? Allgemeine Java-Themen 17
hello_autumn Java_Home geändert auf Java 13, trotzdem wird Java Version 8 angezeigt. Allgemeine Java-Themen 2
Thallius Char +1 wird int? Allgemeine Java-Themen 7
S Wenn eine Klasse zwei Interfaces mit derselben Methodensignatur implementiert: welche wird aufgerufen? Allgemeine Java-Themen 15
F Scrollbar wird nicht angezeigt Allgemeine Java-Themen 0
B Discord Bot - Funktion wird nicht aufgerufen Allgemeine Java-Themen 1
I Temp-Datei wird nicht gelöscht Allgemeine Java-Themen 12
S If-Menü wird doppelt ausgegben Allgemeine Java-Themen 4
P Variable wird in for - loop nicht richtig hochgezählt Allgemeine Java-Themen 11
S Wird bei den JREs 9, 10, 11+ ueberhaupt noch Bytecode ausgefuehrt..? Allgemeine Java-Themen 8
FRI3ND JFrame wird nicht angezeigt Allgemeine Java-Themen 3
T Plötzlich wird package nicht mehr gefunden Allgemeine Java-Themen 3
X Klassen File-Klasse wird als Directory markiert Allgemeine Java-Themen 8
S Datei wird nicht gefunden Thread.currentThread().getContextClassLoader().getResourceAsStream() Allgemeine Java-Themen 1
mrbig2017 Sleep wird ignoriert und der Thread wartet nicht Allgemeine Java-Themen 1
mrbig2017 Threads wait wird nicht durch notify beendet! Allgemeine Java-Themen 3
kodela Klassen Klassenvariable wird nicht gesetzt Allgemeine Java-Themen 23
M Was geschieht mit Java-Klasse, die aus ArrayList entfernt wird? Allgemeine Java-Themen 10
kodela Drücken der ALT-Taste wird nur bei jedem zweiten Mal erkannt Allgemeine Java-Themen 5
Arif Input/Output Serialisierung - Datei wird nicht erzeugt Allgemeine Java-Themen 3
D Cursor unsichtbar, wenn Kontextmenü aufgerufen wird Allgemeine Java-Themen 5
K Arbeitsspeicher wird langsam voll Allgemeine Java-Themen 6
The Pi Wie oft wird ein Buchstabe in einem Wort wiederholt? Allgemeine Java-Themen 16
N Datentypen If-Statement wird "übersprungen" Allgemeine Java-Themen 2
F Java Mail Problem: Authentifizierung wird nicht immer mitgeschickt Allgemeine Java-Themen 1
T Textarea text wird immer überschrieben Allgemeine Java-Themen 4
C Durch klicken von Button in GUI wird leeres Fenster geöffnet und nicht mein Spiel "Memory" Allgemeine Java-Themen 13
T Java wird nicht gefunden Allgemeine Java-Themen 32
Tacofan GIF-Bild wird "zerstört" Allgemeine Java-Themen 3
Z Exception wird nicht ausgelöst Allgemeine Java-Themen 2
Sin137 Interface Eingabe wird doppelt angezeigt Allgemeine Java-Themen 2
B Threads Timer wird immer schneller Allgemeine Java-Themen 6
N Maven ObjectMapper Error wenn das File gespeichert wird Allgemeine Java-Themen 0
G Methoden Aus einem Event, wo ich weiß, dass es ausgeführt werden wird, eine Get-Methode basteln Allgemeine Java-Themen 8
F Wert in Variable schreiben, wenn diese gerade genutzt wird Allgemeine Java-Themen 10
E Java wird beendet nach paar Sekunden Allgemeine Java-Themen 14
U Erkennen, ob PC benutzt wird Allgemeine Java-Themen 4
O Programm wird einfach "gekillt" Allgemeine Java-Themen 3
P Prüfen ob es Variable mit Namen gibt der als String übergeben wird Allgemeine Java-Themen 7
P Zwei ArrayLists: Ohne die eine überhaupt anzurühren, wird sie verändert Allgemeine Java-Themen 2
B Abfragenteil wird nicht aufgerufen Allgemeine Java-Themen 2
Todesbote JFileChooser im Vordergrund (*.jar wird mittels shell_exec in PHP aufgerufen) Allgemeine Java-Themen 1
T Sicherheitshinweis - Zertifikat wird angefordert Allgemeine Java-Themen 5
L SetBounds wird vor dem Konstruktorcode aufgerufen - Wenn Startleiste links Allgemeine Java-Themen 1
P "Overriden statische Methode" Statische Methode die vererbt wird Allgemeine Java-Themen 5
I CountDown wird durch JOptionPane unterbrochen Allgemeine Java-Themen 11
P Wird double und float auf jedem Computer gleich berechnet? Allgemeine Java-Themen 10
G Tabelle wird nicht richtig dargestellt Allgemeine Java-Themen 9
HarleyDavidson Threads ProgressMonitor wird nicht angezeigt! Allgemeine Java-Themen 6
J OOP Überwachen, ob ein Objekt erzeugt wird Allgemeine Java-Themen 9
S Byte Array welches in Laufzeit aufgelöst wird // Objekt Array Allgemeine Java-Themen 3
A Long variable wird negativ??? Allgemeine Java-Themen 1
J CSV Datei wird ungewollt umformatiert Allgemeine Java-Themen 5
T MEthodenauruf testen, wenn instanz erst erzeugt wird Allgemeine Java-Themen 0
gamebreiti Swing JLabel wird nicht angezeigt Allgemeine Java-Themen 4
I Java Applet wird immer blockiert Allgemeine Java-Themen 3
E Java Editor Klasse wird nicht weiter ausgeführt Allgemeine Java-Themen 4
S Java Applet wird dauerhaft blockiert Allgemeine Java-Themen 1

Ähnliche Java Themen

Neue Themen


Oben