Hallo,
ich bekomme mit Hibernate und Annotations eine org.hibernate.MappingException: Unknown entity wenn ich versuche ein Objekt in der DB abzulegen.
Ich habe im Netz alle möglichen Beiträge zum Thema gelesen, aber nichts hilfreiches war dabei.
Das bekannte Problem mit der vertauschten Entity (org.hibernate.entity anstatt javax.persistence.Entity) ist es nicht.
Das komische ist, dass ich 5 Klassen habe, die in der DB abgelegt werden.
4 davon funktionieren ohne Probleme. Dann habe ich eine von den 4 kopiert, den Namen und einige Eigenschaften geändert und das Mapping in der hibernate.cfg.xml eingetragen.
Weiß jemand Rat?
hier die Hibernate.cfg.xml:
Und hier ein Teil der nicht funktionierenden Klasse:
[Java]
import java.io.Serializable;
import java.text.MessageFormat;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
//import java.text.SimpleDateFormat;
//import java.util.;
@Entity
@SequenceGenerator(name = "rechnungen_seq", sequenceName = "rechnungen_id_seq")
public class Rechnungen implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
private String lieferDatum;
...
[/code]
Und noch die Exception:
ich bekomme mit Hibernate und Annotations eine org.hibernate.MappingException: Unknown entity wenn ich versuche ein Objekt in der DB abzulegen.
Ich habe im Netz alle möglichen Beiträge zum Thema gelesen, aber nichts hilfreiches war dabei.
Das bekannte Problem mit der vertauschten Entity (org.hibernate.entity anstatt javax.persistence.Entity) ist es nicht.
Das komische ist, dass ich 5 Klassen habe, die in der DB abgelegt werden.
4 davon funktionieren ohne Probleme. Dann habe ich eine von den 4 kopiert, den Namen und einige Eigenschaften geändert und das Mapping in der hibernate.cfg.xml eingetragen.
Weiß jemand Rat?
hier die Hibernate.cfg.xml:
Java:
<?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="connection.url">jdbc:mysql://localhost/projekt</property>
<property name="connection.username">root</property>
<property name="connection.password"/>
<property name="connection.driver_class">com.mysql.jdbc.Driver
</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="cache.provider_class">
org.hibernate.cache.EhCacheProvider
</property>
<property name="current_session_context_class">thread
</property>
<property name="hibernate.transaction.factory_class">
org.hibernate.transaction.JDBCTransactionFactory
</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<mapping class="projekt.Kunde"/>
<mapping class="projekt.Artikel"/>
<mapping class="projekt.Auftrag"/>
<mapping class="projekt.Posten"/>
<mapping class="projekt.Rechnungen"/>
</session-factory>
</hibernate-configuration>
Und hier ein Teil der nicht funktionierenden Klasse:
[Java]
import java.io.Serializable;
import java.text.MessageFormat;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
//import java.text.SimpleDateFormat;
//import java.util.;
@Entity
@SequenceGenerator(name = "rechnungen_seq", sequenceName = "rechnungen_id_seq")
public class Rechnungen implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
private String lieferDatum;
...
[/code]
Und noch die Exception:
Java:
Exception in thread "AWT-EventQueue-0" org.hibernate.MappingException: Unknown entity: projekt.Rechnungen
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:550)
at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1338)
at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:180)
at org.hibernate.event.def.AbstractSaveEventListener.getEntityState(AbstractSaveEventListener.java:512)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:80)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:495)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:301)
at $Proxy7.saveOrUpdate(Unknown Source)
at projekt.DBSchnittstelle.createRechnung(DBSchnittstelle.java:615)
at projekt.Gui.buttonLiefernActionPerformed(Gui.java:1318)
at projekt.Gui.access$1500(Gui.java:21)
at projekt.Gui$16.actionPerformed(Gui.java:524)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)