Hibernate/JPA - Unknown entity

Prophet05

Erfahrenes Mitglied
Hallo,

ich versuche mich gerade in Hibernate/JPA reinzufuchsen. Allerdings eher mit mässigem Erfolg. Ich bin dabei Hibernate zu Konfigurieren. Meine "persistence.xml" sieht wie folgt aus:
HTML:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
        xmlns="http://java.sun.com/xml/ns/persistence"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
    
    <persistence-unit name="nanoFinance">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        
        <!-- Show hibernate the persistent classes -->
        <class>org.nanofinance.datadb.Tag</class>
        <class>org.nanofinance.datadb.Transaction</class>
        <class>org.nanofinance.datadb.Account</class>
        
        <properties>
            
            <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
            <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/nanoFinance"/>
            <property name="hibernate.connection.username" value="prophet"/>
            <property name="hibernate.connection.password" value=""/>
            
            <!-- SQL dialect -->
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
            
            <!-- Echo SQL statements -->
            <property name="hibernate.show_sql" value="true"/>
            
            <!-- Drop and recreate on startup -->
            <property name="hibernate.hbm2ddl.auto" value="create"/>
            
            <!-- Search for annotated classes -->
            <property name="hibernate.archive.autodetection" value="class"/>
            
            <!-- JDBC connection pool -->
            <property name="hibernate.connection.pool_size" value="1"/>
            
            <!-- Disable second level cache -->
            <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
            
        </properties>
    </persistence-unit>
    
</persistence>

Nun erhalte ich folgende Fehlermeldung:
Code:
Exception in thread "main" java.lang.IllegalArgumentException: Unknown entity: org.nanofinance.datadb.Tag
	at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:223)
	at org.nanofinance.datadb.FinanceDataFacade.addTag(FinanceDataFacade.java:38)
	at org.nanofinance.Main.main(Main.java:53)

Ich verstehe nur nicht warum, weil ich erstens Autodetect für Annotations eingestellt habe und zweitens noch extra die Klassen mit Annotation angebe.

Er scheint die "persistence.xml" zu finde. Sie leigt in meinem "src/META-INF" Verzeichnes, ich starte die anwendung innerhalb von Eclipse.

Könnt ihr mir Helfen?

Grüße

PS: Das ganze soll nachher in eine JavaSE Anwendung laufen und ich habe die entsprechende Klassen mit @Entity markiert.
 
Zuletzt bearbeitet:
Hallo,

auf den ersten Blick sieht deine persistence.xml eigentlich ok aus. Was für eine @Entity Annotation benutzt du? Die @javax.persistence.Entity oder die @org.hibernate.annotations.Entity? Letztere funktioniert nur mit der ersten zusammen aber nicht standalone, kommt aber in der Eclipse Import-Hilfe vorher. Ein unvorsichtiger Klick und schon hast du das Problem, dass die falsche importiert wird. Vielleicht liegts ja daran?

hth
THMD
 

Neue Beiträge

Zurück