Problem z hibernate

Odpowiedz Nowy wątek
2010-09-14 20:56

Rejestracja: 12 lat temu

Ostatnio: 1 rok temu

0

Witam,
W mojej aplikacji stworzyłem jeden model "model" w którym znajduje się plik mapowania i plik klasy odwzorowujący jedną z tabel mojej bazy. Wszystko działało poprawnie aż do momentu, kiedy zachciało mi się dodać kolejną klasę odwzorowującą inną tabele. Stworzyłem w tym modelu nową klasę i w pliku mapowania dodałem odpowiednie wpisy, żeby z mojej nowej klasy powstałą w bazie nowa tabela. I po tej modyfikacji niestety dostaje poniższy błąd

Initial SessionFactory creation failed.org.hibernate.InvalidMappingException: Could not parse mapping document from resource model/hibernate.hbm.xml
Exception in thread "AWT-EventQueue-0" java.lang.ExceptionInInitializerError
        at utils.HibernateUtil.<clinit>(HibernateUtil.java:28)
        at mrowa.MrowaView.wypiszKlientow(MrowaView.java:848)
        at mrowa.MrowaView.<init>(MrowaView.java:53)
        at mrowa.MrowaApp.startup(MrowaApp.java:22)
        at org.jdesktop.application.Application$1.run(Application.java:171)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        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)
Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from resource model/hibernate.hbm.xml
        at org.hibernate.cfg.Configuration.addResource(Configuration.java:671)
        at org.hibernate.cfg.AnnotationConfiguration.addResource(AnnotationConfiguration.java:1134)
        at org.hibernate.cfg.AnnotationConfiguration.parseMappingElement(AnnotationConfiguration.java:719)
        at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1647)
        at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1626)
        at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:1224)
        at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:107)
        at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1600)
        at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:1212)
        at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:107)
        at org.hibernate.cfg.Configuration.configure(Configuration.java:1520)
        at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:1194)
        at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:107)
        at org.hibernate.cfg.Configuration.configure(Configuration.java:1506)
        at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:1188)
        at utils.HibernateUtil.<clinit>(HibernateUtil.java:24)
        ... 12 more
Caused by: org.hibernate.MappingException: Invalid ORM mapping file.
Error parsing XML (line16 : column 13): The content of element type "class" must match "(meta*,subselect?,cache?,synchronize*,comment?,tuplizer*,(id|composite-id),discriminator?,natural-id?,(version|timestamp)?,(property|many-to-one|one-to-one|component|dynamic-component|properties|any|map|set|list|bag|idbag|array|primitive-array)*,((join*,subclass*)|joined-subclass*|union-subclass*),loader?,sql-insert?,sql-update?,sql-delete?,filter*,fetch-profile*,resultset*,(query|sql-query)*)".

        at org.hibernate.cfg.AnnotationConfiguration.addInputStream(AnnotationConfiguration.java:920)
        at org.hibernate.cfg.AnnotationConfiguration.addInputStream(AnnotationConfiguration.java:107)
        at org.hibernate.cfg.Configuration.addResource(Configuration.java:668)
        ... 27 more

Poniżej plik mapowania

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="model.Klient">
        <id name="id">
            <generator class="native" />
        </id>
        <property name="imie" />
        <property name="nazwisko" />
        <property name="pesel" />
        <property name="haslo" />
    </class>
    <class name="model.Magazyn">
        <property name="numer"/>
        <property name="stan"/>
    </class>
  </hibernate-mapping>

Z góry dzięki za odpowiedzi.

Pozostało 580 znaków

::.
2010-09-14 21:02
::.
0

Na pierwszy rzut oka brakuje id. DTD miedzy innymi wymaga aby w class bylo: "(id|composite-id)", czyli albo jedno, albo drugie.

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0