2010-07-23 18 views
8

Ich habe eine Tabelle mit der ID Feldtyp BIGINT in MySQLHibernate Karte java Lang MySQL BIGINT Fehler

in Hibernate Objekt, ich benutze Java Langtyp für dieses Feld

aber als Programm ausführen, es Ausnahme auslösen : Expected: class java.lang.Long, got class java.lang.Integer

wie MySQL BINGINT-Datentyp in Hibernate zuordnen?

+1

Die Verwendung eines Long für einen BIGINT ist korrekt. Bitte zeigen Sie Ihr Mapping, den Code, den Sie ausführen, und den vollständigen StackTrace. –

+0

ok, ich defi falsch param für meine Methode cellDao.get (Integer-ID). ich repariere es und jetzt läuft es gut. Danke – QuanNH

Antwort

11

aber als Programm ausführen, es Ausnahme auslösen: Erwartet: Klasse java.lang.Long, bekam Klasse java.lang.Integer

eine Long Verwendung für eine BIGINT korrekt und der obige Fehler ist schon sagt dass Sie irgendwie eine Integer übergeben, wo eine irgendwo in Ihrem Code erwartet wird. Überprüfen Sie Ihren Code.

4

Hilft es, wenn Sie einen Column wie Column = „bigint (20)" auf Ihre Parameter-Mapping hinzufügen?

+0

Ich benutze Hibernate XML-Config-Datei, und nicht wissen, wie columnDefinition param: | – QuanNH

+0

Es tut mir leid, aber wie könnte das möglicherweise helfen? –

+0

Manchmal kann Hibernate nicht herausfinden, wie Sie den SQL-Typ korrekt zuordnen, aber Sie haben Recht, in diesem Fall sieht die Fehlermeldung etwas anders aus. \t \t verursacht durch: org.hibernate.HibernateException: Falscher Spaltentyp in TEST.EXAMPLE für Spalte FOO. Gefunden: lang, erwartet: Ganzzahl – mosterme