Während ich an meinem Projekt arbeitete, verwendete ich ursprünglich die Hibernate Annotations @Entity, @Table, @Column, @SequenceGenerator und @GeneratedValue in meiner Java-Klasse und konnte Elemente erfolgreich hinzufügen zu meiner Oracle Datenbank.Fehler beim Umschalten von Hibernate-Annotationen in die Datei hbm.xml
Jetzt versuche ich das gleiche zu replizieren, aber eine * .hbm.xml-Datei verwenden und Probleme auftreten.
Hier ist der ursprüngliche Java-Klasse-Code mit den kommentierten Anmerkungen aus:
//@Entity
//@Table (name="client")
@SequenceGenerator(name="seq_client",sequenceName="BIMB2013WMMEE.seq_client",
allocationSize=1, initialValue=1)
public class Client {
//Fields
//@Id
//@GeneratedValue(strategy=GenerationType.SEQUENCE)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="seq_client")
//@Column(name="CLIENT_ID")
private int id;
//@Column(name="CLIENT_NAME")
private String clientName;
//@Column(name="CLIENT_CODE")
private String clientCode;
Hier ist die entsprechende hbm.xml-Datei, die im Verzeichnis src mein Projekt befindet.
<hibernate-configuration>
<session-factory>
<!-- JDBC Database connection settings -->
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="connection.url">jdbc:oracle:thin:@endeavour.us.manh.com:1523/pso11r2f</property>
<property name="connection.username">BIMB2013WMMEE</property>
<property name="connection.password">BIMB2013WMMEE</property>
<!-- JDBC connection pool settings ... using built-in test pool -->
<property name="connection.pool_size">1</property>
<!-- Select our SQL dialect -->
<property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>
<!-- Echo the SQL to stdout -->
<property name="show_sql">true</property>
<!-- Set the current session context -->
<property name="current_session_context_class">thread</property>
</session-factory>
</hibernate-configuration>
Schließlich ist hier der Eclipse-Fehlercode:
Exception in thread "main" org.hibernate.MappingException: Unknown entity: com.luv2code.hibernate.demo.entity.Client
ich keine Änderungen an die Klasse nicht machen, dass das Objekt tatsächlich schafft und in die Datenbank über eine Sitzung Hinzufügen ... muss ich?
Danke für die Hilfe !!
Also was ich denke ist, ich sollte meine factory = new Configuration() ändern. Configure ("hibernate.cfg.xml"). AddAnnotatedClass ("Client.class") ...... to .configure (". .. "). addResource (" Client.hbm.xml) ..... Wenn ich das tue bekomme ich einen neuen Fehler: Ausnahme im Thread "Haupt" org.hibernate.MappingException: Entität Klasse nicht gefunden: Client – AHijaouy
Haben Sie diese Ressource zu Ihrer Hibernate-Konfigurationsdatei hinzugefügt? Sie wird im Lernprogramm angezeigt. Verwenden Sie . –