Hibernate Problem Table doesnt excist

c_sidi90

Top Contributor
Ich habe nach folgendem Tutorial aus dem Forum die Schritte soweit es ging 1 zu 1 durchgearbeitet.

Tutorial: Hibernate mit MySQL (erste Schritte) : blog.buhbuhbuh.de

Nachdem mir einige Jars gefehlten hatten habe ich diese schließlich alle in den Classpath geladen und dachte, nun sollte alles funktionieren, dem war jedoch nicht so.

Starte ich meine Applikation erscheint neben einen haufen Logzeilen auch folgende Exception:

Java:
Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not insert: [de.hibernate.tutorial.gewinnspiel.PersonImpl]

Ich denke da ihr sowieso danach fragen werdet, poste ich gleich die xml und propertiefiles dazu.


DATEI : hibernate.cfg.xml
--------------------------------------------

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost/gewinnspiel</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">MEINPWHALT</property>
<property name="hibernate.connection.pool_size">10</property>
<property name="show_sql">true</property>
<property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name="hibernate.hbm2ddl.auto">create</property>
<!-- Mapping-Dateien -->
<mapping resource="de/hibernate/tutorial/gewinnspiel/personImpl.hbm.xml" />
</session-factory>
</hibernate-configuration>

-----------------------------------------------



DATEI: log4j.properties (Hier klappt alles)

-----------------------------------------------
log4j.rootLogger=DEBUG, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A4.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

------------------------------------------------

DATEI: personImpl.hbm.xml

-------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>
<class name="de.hibernate.tutorial.gewinnspiel.PersonImpl">
<id name="id">
<generator class="native" />
</id>
<property name="anrede" />
<property name="vorname" />
<property name="name" />
<property name="strasse" />
<property name="hausnummer" />
<property name="plz" />
<property name="ort" />
<property name="telefonVorwahl" />
<property name="telefonAnschlussNummer" />
<property name="termsAcceptedIp" />
<property name="termsAcceptedTime" />
<property name="geburtsdatum" />
<property name="email" />
<property name="land" />
</class>
</hibernate-mapping>

--------------------------------------------------------

Ich hatte bereits in der hibernate.cfg die Zeile

<property name="hibernate.hbm2ddl.auto">update</property>

durch

<property name="hibernate.hbm2ddl.auto">create</property>

ersetzt, brachte jedoch auch keinen Erfolg.


Lg
 
M

maki

Gast
Mir fehlt da noch etwas vom StackTrace, welche Tabelle genau fehlt ihm denn?

Ansonsten möchte ich noch sagen, dass man immer die Original Doku bevorzugen sollte, ist Qualitativ meist um Welten besser als die anderen 200000 Tutorials in Blogs etc., nicht nur am speziell im Fall von Hibernate, aber vor allem bei Hibernate, jeder Dödel meint nämlich er müsste selber ein noch schlechteres Tutorial basteln ;)
 
S

SlaterB

Gast
man braucht Hibernate 500 Tage und länger um täglich mit der Datenbank zu kommunizieren,
aber die Datenbank muss nur an 1 Tag angelegt werden,
ist das wirklich eine Aufgabe, die man auch noch nach komischen Regeln der API zumuten muss?
man könnte sich doch auch selber die Create-Skripte zusammenbasteln,
SQL-Grundkenntnisse und dann auch Wissen über diese konkrete Datenbank, von Spaltennamen zu Datentypen bis Fremdschlüsseln, ist in jedem Fall nützlich
 

c_sidi90

Top Contributor
Also erweiterte Kenntnisse von SQL (MYSQL und FB) habe ich, hibernate ist jedoch Neuland für mich. Da das Tutorial aus diesem Forum (Tutorials von Mitgliedern) kam, dachte ich, es wäre ein gutes um Einzusteigen. Naja wie auch immer hier die Meldung im Detail:

Java:
xception in thread "main" org.hibernate.exception.SQLGrammarException: could not insert: [de.hibernate.tutorial.gewinnspiel.PersonImpl]
	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:92)
	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
	at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:64)
	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2345)
	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2852)
	at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:71)
	at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
	at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:320)
	at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:203)
	at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:129)
	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
	at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
	at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
	at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:713)
	at org.hibernate.impl.SessionImpl.save(SessionImpl.java:701)
	at org.hibernate.impl.SessionImpl.save(SessionImpl.java:697)
	at de.hibernate.tutorial.gewinnspiel.ErsterVersuch.main(ErsterVersuch.java:50)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'gewinnspiel.personimpl' doesn't exist
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
	at com.mysql.jdbc.Util.getInstance(Util.java:382)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3603)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3535)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1989)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2150)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2119)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2415)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2333)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2318)
	at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:94)
	at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:57)
	... 16 more

Davor ist noch eine Exception die JDBC wirft, da wie gesagt kein Table mit dem Namen gefunden werden kann.
Java:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'gewinnspiel.personimpl' doesn't exist
 

AFlieger

Mitglied
Was mir auffällt, ist, dass in deiner personImpl.hbm.xml nicht angibst, auf welche Tabelle die Klasse gemappt werden soll, d.h. es wird dann einfach der Klassenname als Tabellenname angenommen.

<class name="de.hibernate.tutorial.gewinnspiel.PersonImpl" table=<tabellenname>>

<tabellenname> durch deinen ersetzen, dann sollte es klappen.
 

c_sidi90

Top Contributor
<class name="de.hibernate.tutorial.gewinnspiel.PersonImpl" table=<tabellenname>>
hilft nichts, ich bekomm die selbe Meldung nur das nun gemeckert wird, table USER does not excist. Durch die vorherige Konfiguration sollte laut Tutorial auch automatsch eine Tabelle mit dem Klassennamen angelegt werden, wenn nicht explizit wie du es erläutert hast ein Tabellenname definiert wird.
 
M

maki

Gast
Kann mich nur wiederholen, lies die Hibernate Doku, verschwende nicht deine Zeit und erspare dir unnötigen Frust.

Documentation - Hibernate - JBoss Community

Wenn du das nicht möchtest lasse dir dein Problem vom Author der Tutorials erklären, sollte ihm/ihr die Augen öffnen was es heisst Tutorials zu veröffentlichen, müssen nämlich auch gewartet/getestet/erweitert werden -> das ist Arbeit, und zwar eine die schon sehr oft gemacht wurde, von viel zu vielen...
 
Zuletzt bearbeitet von einem Moderator:

c_sidi90

Top Contributor
Da geb ich dir Recht, danke für den Tipp! Ich werde das Tutorial ruhen lassen und mich in die Doku einlesen, da führt ja meist kein Weg dran vorbei :D
 
M

maki

Gast
ORM sind sehr komplex, da reicht kein einfaches Tutorial um durchzusteigen, selbst falls es funktionieren sollte ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Problem mit Hibernate c3p0 Datenbankprogrammierung 2
O HSQLDB Hibernate Criteria Problem Datenbankprogrammierung 3
P Lazy-Fetchig und Session-Problem mit Hibernate Datenbankprogrammierung 4
C Hibernate ManyToMany zusammengesetzter Primärschlüssel, problem. Datenbankprogrammierung 3
C Hibernate Property-Problem Datenbankprogrammierung 5
I Hibernate: Composite Foreign Key Problem Datenbankprogrammierung 14
K Hibernate + MySQL Problem... Datenbankprogrammierung 2
M Problem mit Hibernate und Named Query Datenbankprogrammierung 1
M Problem mit Hibernate und Access Datenbankprogrammierung 9
E Hibernate Problem bei bidirektionaler 1:n Verbindung Datenbankprogrammierung 2
G Hibernate Instrumentation Problem Datenbankprogrammierung 5
B Hibernate Mapping Problem Datenbankprogrammierung 3
ARadauer Hibernate und HSQL DB Problem Datenbankprogrammierung 4
K org.hibernate.MappingException Problem Datenbankprogrammierung 2
F Hibernate Mapping problem Datenbankprogrammierung 2
G Problem mit neuer Hibernate Library und SLF4J Logging Datenbankprogrammierung 5
G [Hibernate] Problem mit LEFT JOIN Datenbankprogrammierung 7
GilbertGrape hibernate: Problem mit OneToMany Datenbankprogrammierung 4
F Hibernate Problem Datenbankprogrammierung 4
Y Hibernate - Problem bei Mapping Datenbankprogrammierung 7
Y Hibernate - Problem bei save Datenbankprogrammierung 22
F Hibernate Problem Datenbankprogrammierung 5
M Problem mit Hibernate und JDBC Datenbankprogrammierung 2
N Hibernate & hsqldb: Problem bei db-update Datenbankprogrammierung 7
W Hibernate Update Problem Datenbankprogrammierung 3
O Update-Problem mit Hibernate-Framework Datenbankprogrammierung 5
torresbig MySQL hibernate - could not resolve entity class ... (Datenbank Anfänger) Datenbankprogrammierung 19
I Hibernate Predicate mit IN Clause "Unaware how to convert value to requested type" Datenbankprogrammierung 0
T org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: ..., could not initialize proxy - no Session Datenbankprogrammierung 5
T Realisierungsvorschläge Hibernate SQL Datenbankprogrammierung 1
Zrebna Wie mittels Hibernate eine Join-Tabelle als eigene Java-Klasse erstellen? Datenbankprogrammierung 5
Zrebna Tabellen-Erzeugung via Hibernate ignoriert 'CascadeType' settings Datenbankprogrammierung 1
I Hibernate / JPA - Spaltenname von Query (Select) bekommen Datenbankprogrammierung 6
M Mysql Views und Hibernate Caching Datenbankprogrammierung 4
damike84 Hibernate: persistieren eines Graphen Datenbankprogrammierung 2
N Hibernate Entitäten bei Selects aus 2 Tabellen Datenbankprogrammierung 7
OnDemand Hibernate Realationen Datenbankprogrammierung 7
OnDemand Hibernate ManyToOne Datenbankprogrammierung 5
D Hibernate oneToMany Syntaxfehler Datenbankprogrammierung 3
D Hibernate Error: NoSuchMethodError Datenbankprogrammierung 4
D hibernate mit postgreSQL Datenbankprogrammierung 3
S MySQL Hibernate: Fehler bei Verwendung von 2 unterschiedlichen Enumration Datenbankprogrammierung 3
OnDemand MySQL Trigger löst nicht aus bei Hibernate Update Datenbankprogrammierung 12
OnDemand Hibernate OneToMany ManyToOne Datenbankprogrammierung 61
J Hibernate One-To-One mit Where Klausel Datenbankprogrammierung 6
L hibernate.cfg.xml Could not parse configuration Datenbankprogrammierung 0
L H2 Hibernate definieren? Datenbankprogrammierung 1
T JPA Mapping Enum (hibernate 5) Datenbankprogrammierung 1
H In hibernate.cfg.xml schreiben und auslesen Datenbankprogrammierung 0
K Hibernate: Ein Fluch Datenbankprogrammierung 3
K Java Object mit Hibernate in MySQL abspeichern Datenbankprogrammierung 1
K Eclipse: JBoss Hibernate Tool: Kein Zugriff auf Datenbank Datenbankprogrammierung 5
S JpaRepositories & Hibernate: ungewolltes trim() in findBy Datenbankprogrammierung 7
S MySQL hibernate exception: illegal state exception : entityManagerFactory is closed Datenbankprogrammierung 5
S Hibernate: Verschiedene Klassen zurückgeben. Datenbankprogrammierung 2
looparda Architektur für JPA Hibernate Umstieg Datenbankprogrammierung 14
perlenfischer1984 Hibernate mit final members Datenbankprogrammierung 3
perlenfischer1984 Java Objecte speichern mit Hibernate ? Datenbankprogrammierung 2
N SQLite Hibernate und Aufruf von Funktion SELECT last_insert_rowid() Datenbankprogrammierung 2
N Sqlite3 und Hibernate Datenbankprogrammierung 3
A Hibernate Cache leeren Datenbankprogrammierung 4
I MySQL Hibernate zu viele Queries Datenbankprogrammierung 2
Psypsy Hibernate / JPA erkennen von schon gespeicherten Objekten Datenbankprogrammierung 4
Psypsy Hibernate / JPA OneToOne MappedBy Frage Datenbankprogrammierung 2
J Hibernate + DTOs - DTOs in DAOs verwenden? Datenbankprogrammierung 1
S Hibernate-Konfiguration : Unverständliche Ausgabe beim Ausführen Datenbankprogrammierung 0
I MySQL Hibernate / MySQL alias in WHERE clause Datenbankprogrammierung 1
J Hibernate + HSQL embedded Datenbankprogrammierung 2
P Hibernate Einstieg Datenbankprogrammierung 5
C Hibernate und createQuery Datenbankprogrammierung 2
V kennt jemand empfehlenswerte online tutorials zur Hibernate ? gerne auch englisch. Datenbankprogrammierung 4
G H2 Hibernate - wie joins machen Datenbankprogrammierung 1
D Hibernate: Zustand eines Objekts erkennen? Datenbankprogrammierung 0
D Unterschiede Hibernate Vs. Java Persistence API Datenbankprogrammierung 8
I Hibernate / JPA Index hinzufügen Datenbankprogrammierung 1
X Hibernate Cache Verständnisproblem Datenbankprogrammierung 0
T Hibernate und inner class Datenbankprogrammierung 0
K n:m Tabellen mit Hibernate erstellen Datenbankprogrammierung 1
T Hibernate DAO gute Tutorials/Bücher gesucht Datenbankprogrammierung 0
C Hibernate: could not resolve property Datenbankprogrammierung 1
J Plug-In-Framework für Hibernate-Klassen Datenbankprogrammierung 0
M Hibernate - Save Child wenn nötig Datenbankprogrammierung 10
M DAO's + Hibernate Theorie Datenbankprogrammierung 4
T Hibernate, HSQLDB und UNIQUE Datenbankprogrammierung 2
F Hibernate - verschiedene Schemen Datenbankprogrammierung 7
D Hibernate SaveOrUpdate Exception Datenbankprogrammierung 2
D Hibernate CreateQuery ohne Result Datenbankprogrammierung 7
E MySQL Hibernate mit JaxWS führt zu LazyInitialization Exception Datenbankprogrammierung 8
L Einarbeitung in Hibernate -> wenn gute SQL Kenntnisse vorhanden? Datenbankprogrammierung 2
B DB2 Hibernate findet Datenbank nicht Datenbankprogrammierung 18
K JPA / Hibernate Annotations Datenbankprogrammierung 4
M JPA / Hibernate mit Postgres DB Datenbankprogrammierung 3
P JSF + H2 + TomEE + Hibernate/JPA Datenbank wird nicht angelegt Datenbankprogrammierung 3
E MySQL Hibernate ( Anfänger ) Datenbankprogrammierung 3
J Hibernate Select auf Parameterliste Datenbankprogrammierung 3
P Oracle Hibernate - Oracle-VarChar-Index wird nicht genutzt Datenbankprogrammierung 3
M Hibernate Foreign Key definieren Datenbankprogrammierung 4
M Abstrakte Klassen Hibernate Datenbankprogrammierung 4
D Mit Hibernate (mit Annotation) auf Views zugreifen Datenbankprogrammierung 2
M [Hibernate]Abgleich eines lokalen Objekts mit dem Zustand aus der Datenbank. Datenbankprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben