-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 
Author Message
 Post subject: Neuling, Entities werden nicht erstellt, Exception
PostPosted: Mon Sep 30, 2013 8:08 am 
Newbie

Joined: Mon Sep 30, 2013 4:47 am
Posts: 6
Hallo,
ich bin Neuling bei Hibernate. Ich versuche, meine Anwendung mit Hibernate an eine JavaDB (Derby, Netzwerkversion) anzubinden. Ich verwende Netbeans 7.4, habe die hibernate.cfg.xml erstellt:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>
    <property name="hibernate.dialect">org.hibernate.dialect.DerbyDialect</property>
    <property name="hibernate.connection.driver_class">org.apache.derby.jdbc.ClientDriver</property>
    <property name="hibernate.connection.url">jdbc:derby://localhost:1527/sample</property>
    <property name="hibernate.connection.username">app</property>
    <property name="hibernate.connection.password">app</property>
    <mapping class="hawhaw.db.Adresse"/>
  </session-factory>
</hibernate-configuration>

Leider bekomme ich eine Exception, die darauf hinweist, dass die Tabellen nicht erstellt werden.
Alle Klassen, die mit Annotations versehen sind, liegen im Paket hawhaw.db
Die Klasse Adresse sieht leicht gekürzt, so aus:
Code:
package hawhaw.db;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "adresse")
public class Adresse implements Serializable {
    protected Integer id;
    protected String nachname;
    protected String vorname;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    public Integer getId() {
        return id;
    }

    @Column(name = "nachname")
    public String getNachname() {
        return nachname;
    }

     ...

Code:
4429 [main] INFO org.hibernate.impl.SessionFactoryObjectFactory - Not binding factory to JNDI, no JNDI name configured
4673 [main] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: -1, SQLState: 42X05
4674 [main] ERROR org.hibernate.util.JDBCExceptionReporter - Die Tabelle/Ansicht 'ADRESSE' ist nicht vorhanden.
Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not insert: [hawhaw.db.Adresse]
   at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:92)
   at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
   at org.hibernate.id.insert.AbstractSelectingDelegate.performInsert(AbstractSelectingDelegate.java:63)
   at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2346)
   at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2853)
   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 hawhaw.HawHaw.main(HawHaw.java:30)

Ich lese gerade "Spring & Hibernate (Hanser Verlag)" und habe mir die Verwendung von Hibernate in Netbeans aus diversen Quellen zusammen gesucht. Ich komme an diesem Punkt nicht weiter. Wenn ich danach bei der Suchmaschine meines Vertauens suche, sehe ich nur Hinweise auf die Verwendung von javax.persistence.Entity anstelle von org.hibernate (..).Entity, aber diesen Fehler begehe ich hier ja nicht.
Kann mir jemand sagen, was ich falsch mache?
Umgebung:
Netbeans 7.4RC1, Hibernate 3.6, JDK7 auf Win7 x64

Danke!


Top
 Profile  
 
 Post subject: Re: Neuling, Entities werden nicht erstellt, Exception
PostPosted: Mon Sep 30, 2013 11:28 am 
Newbie

Joined: Mon Sep 30, 2013 4:47 am
Posts: 6
Ich bin jetzt mal von Derby auf MySQL gewechselt. Es scheint häufiger verwendet zu werden und man kann besser erkennen, ob/welche Tabellen erstellt werden.
Die Fehlermeldung bleibt:
Code:
633 [main] INFO org.hibernate.impl.SessionFactoryObjectFactory - Not binding factory to JNDI, no JNDI name configured
Exception in thread "main" org.hibernate.MappingException: Unknown entity: hawhaw.db.Adresse

Es wurden keine Tabellen erstellt.
Weiß jemand, wo und wie ich weitermachen soll?


Top
 Profile  
 
 Post subject: Re: Neuling, Entities werden nicht erstellt, Exception
PostPosted: Tue Oct 01, 2013 1:55 am 
Senior
Senior

Joined: Tue Oct 28, 2008 10:39 am
Posts: 196
Hast du Hibernate auch mitgeteilt, dass es Tabellen anlegen/ändern soll?

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

Hast du Class-Mapping eingetragen?

=> <mapping class="a.b.c.d.EntityKlasse" />


Top
 Profile  
 
 Post subject: Re: Neuling, Entities werden nicht erstellt, Exception
PostPosted: Tue Oct 01, 2013 2:57 am 
Newbie

Joined: Mon Sep 30, 2013 4:47 am
Posts: 6
Das Mapping hatte ich irgend wann gefunden, steht auch in meinem ersten Post, aber was tatsächlich fehlte war "<property name="hbm2ddl.auto">create</property>", genau genommen heißt es bei Netbeans unter "Miscellaneous Properties" dort "hibernate.hbm2ddl.auto":
<property name="hibernate.hbm2ddl.auto">create-drop</property>
Edit: create, create-drop etc, je nachdem, wie man es gerne hätte.
Ich habe das bislang in jeder Beschreibung übersehen- Wahrscheinlich hätte ich noch zehn Jahre vergeblich danach suchen können.

Danke für den Hinweis, es läuft jetzt!


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.