Hallo Leute,
ich habe gerade begonnen mit Hibernate zu arbeiten und bin da auf ein Problem gestossen, bei dem ich hoffe, dass ihr mir helfen koennt.
Also, ich nutze Hibernate Tools fuer Eclipse in Verbindung mit einer Oracle Datenbank. Ich habe mithilfe des Wizards eine hibernate.cfg.xml Datei angelegt und auch eine Consolen Konfiguration erstellt. Dabei habe ich mich auf eine Anleitung im Internet verlassen und das Ganze hat auch soweit geklappt. Ich kann mir in der Hibernate Perspektive die Tabellen anschauen, unter den anderen Punkten ist allerdings nichts zu finden.
Nachdem ich die Reverse Engineering Funktion ausgefuehrt habe, sind nun in meinem src die gequenschten Domain Classen (.java) und Mapping (hbm.xml) Dateien. Weiterhin habe ich mir auch eine hibernate.hbm.xml Datei erzeugen lassen, aber wo die ist...ka, hab sie nicht finden koennen.
Nun wollte ich mal testen, ob ich mit dem HQL Scratchpad ein paar Daten aus meiner Datenbank bekomme. Und da tritt der Fehler auf: Test is not mapped.
(Habe zusaetzlich zum Hauptschema eine ganz einfach Tabelle angelegt, um Hibernate auszutesten.)
An der Schreibweise kann es eigentlich nicht liegen, da ich alle Varianten (auch mit Schemanamen) ausprobiert habe, und die restlichen Dateien wurden ja automatisch von Hibernate erstellt.
Hat vielleicht jemand eine Ahnung was da los sein koennte? Hab schon alles zu dem Thema gelesen, aber nichts davon half mir weiter.
Ach uebrigens, nach einiger Zeit verabschiedet sich meine Sessionfactory mit den Worten: Sessionfactory error: component class not found: <pfad>.AlgorithmID
Was ist dieses AlgorithmID? Ich hab zwar eine Tabelle Algorithm, aber sonst nichts derartiges.
Vielleicht kann mir wer helfen.
Ciao Carina
Anbei noch meine Code:
Datenbank
CREATE TABLE test (
id INTEGER NOT NULL ,
value VARCHAR(100) NULL,
PRIMARY KEY(id)
);
hibernate.cfg.xml (restliche mappings entfernt):
<?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.bytecode.use_reflection_optimizer">false</property>
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.password">chemocr</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@bio-ora:1521:chemdb01</property>
<property name="hibernate.connection.username">csr</property>
<property name="hibernate.default_schema">CSR</property>
<property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property>
<mapping resource="de/fhg/scai/bio/csr/io/database/hibernate/Test.hbm.xml" />
</session-factory>
</hibernate-configuration>
Test.hbm.xml:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated Apr 5, 2007 11:46:09 AM by Hibernate Tools 3.1.0.beta5 -->
<hibernate-mapping>
<class name="de.fhg.scai.bio.csr.io.database.hibernate.Test" table="TEST">
<id name="id" type="big_decimal">
<column name="ID" precision="22" scale="0" />
<generator class="assigned" />
</id>
<property name="value" type="string">
<column name="VALUE" length="100" />
</property>
</class>
</hibernate-mapping>
Test.java:
package de.fhg.scai.bio.csr.io.database.hibernate;
// Generated Apr 5, 2007 11:46:08 AM by Hibernate Tools 3.1.0.beta5
import java.math.BigDecimal;
/**
* Test generated by hbm2java
*/
public class Test implements java.io.Serializable {
// Fields
private BigDecimal id;
private String value;
// Constructors
/** default constructor */
public Test() {
}
/** minimal constructor */
public Test(BigDecimal id) {
this.id = id;
}
/** full constructor */
public Test(BigDecimal id, String value) {
this.id = id;
this.value = value;
}
// Property accessors
public BigDecimal getId() {
return this.id;
}
PS: Habe auch im Englischen Bereich gepostet
public void setId(BigDecimal id) {
this.id = id;
}
public String getValue() {
return this.value;
}
public void setValue(String value) {
this.value = value;
}
}
|